私のコードは次のようになります:
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.
*/
}
しかし今、私はそのような多くのログを見つけました:
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)
実際に原因を見つけました。主な理由は、IPアドレスとしてkey = 0のような「ホット」キーがあるためですが、このキーをフィルタリングしたくありません。解決策はありますか?UDF に代数およびアキュムレータ インターフェイスを実装しました。