Umgang mit dem Überlaufgedächtnis bei Schweinen
Mein Code gefällt mir so:
pymt = LOAD 'pymt' USING PigStorage('|') AS ($pymt_schema);
pymt_grp = GROUP pymt BY key
results = FOREACH pymt_grp {
/*
* some kind of logic, filter, count, distinct, sum, etc.
*/
}
Aber jetzt finde ich so viele Protokolle:
org.apache.pig.impl.util.SpillableMemoryManager: Spilled an estimate of 207012796 bytes from 1 objects. init = 5439488(5312K) used = 424200488(414258K) committed = 559284224(546176K) max = 559284224(546176K)
Eigentlich finde ich die Ursache, der Hauptgrund ist, dass es einen "Hotkey" gibt, so etwas wie key = 0 als IP-Adresse, aber ich möchte diesen Schlüssel nicht filtern. Gibt es eine Lösung? Ich habe eine algebraische und eine Akkumulator-Schnittstelle in meine UDF implementiert.