drop table Orders, Salesmen, T456a;
|
Ta linia powoduje usunięcie trzech tabel z pamięci. |
Tab1:
Load * Inline [
Customer, Items, UnitPrice
Bob, 5, 1.50
];
Tab2:
LOAD Customer, Sum( Items * UnitPrice ) as Sales
resident Tab1
group by Customer;
drop table Tab1;
|
Po utworzeniu tabeli Tab2 tabela Tab1 zostaje usunięta.
|
// Load mapping table of country codes:
map1:
mapping LOAD *
Inline [
CCode, Country
Sw, Sweden
Dk, Denmark
No, Norway
] ;
// Load list of salesmen, mapping country code to country
// If the country code is not in the mapping table, put Rest of the world
Salespersons:
LOAD *,
ApplyMap('map1', CCode,'Rest of the world') As Country
Inline [
CCode, Salesperson
Sw, John
Sw, Mary
Sw, Per
Dk, Preben
Dk, Olle
No, Ole
Sf, Risttu] ;
// We don't need the CCode anymore
Drop Field 'CCode';
Drop Mapping Table map1;
Metrics:
Load * Inline [
Transaction ID, Sales Amount, Sales Cost, City, Customer ID
1000012, 4509.33, 1234.22, Oslo, 250v9849
1000013, 1043.21, 180.23, Gothenburg, 195d5930
1000014, 6038.35, 1400.10, Copenhagen, 195d5930
];
|
Ten przykład pokazuje, jak można użyć wariantu Drop mapping table. Tabela mapowania map1 jest tworzona, a następnie używana w kolejnej instrukcji LOAD z funkcją ApplyMap. Po użyciu tabela mapowania zostaje usunięta z pamięci, co optymalizuje zużycie pamięci RAM dla danych, które mają zostać załadowane w kolejnych tabelach podczas wykonywania skryptu.
W tym przypadku, przy zaledwie kilku wierszach w tabeli mapowania, optymalizacja pamięci RAM byłaby minimalna. Jednak w przypadku dużych tabel mapowania lub podczas tworzenia tabel mapowania w pętlach, wydajność może ulec znacznej poprawie.
|