Я запускаю один скрипт свиньи примерно на 1 ГБ данных, который включает несколько операторов groupby и foreach. вот пример кода свиньи:
ab = GROUP y BY(y1, y2, y3, y4, y5, y6 ) ;
xy = FOREACH ab {
abc = FOREACH y
GENERATE
x1, x2, x3, x4, x5, x6, rel1, rel2;
GENERATE
group, abc;
} ;
Примечание: rel1 и rel2 генерируются группой, поскольку они также являются сумкой сами по себе, и для одного [y1, y2, y3, y4, y5, y6] размер сумки содержит около 448 записей, размер которых составляет 700 МБ, и свинья не соответствует отношению xy, говоря, что GC Превышен предел накладных расходов.
Пряжа Бревна
2018-08-08 15:01:13,299 INFO [Service Thread] org.apache.pig.impl.util.SpillableMemoryManager: first memory handler call - Collection threshold init = 1148190720(1121280K) used = 5726479864(5592265K) committed = 5726797824(5592576K) max = 5726797824(5592576K), toFree = 3046581752
2018-08-08 15:04:22,192 FATAL [ResponseProcessor for block BP-1779694772-10.xxx.xx.17-1533341581987:blk_1074055963_315162] org.apache.hadoop.yarn.YarnUncaughtExceptionHandler: Thread Thread[ResponseProcessor for block BP-1779694772-10.xxx.xx.17-1533341581987:blk_1074055963_315162,5,main] threw an Error. Shutting down now...
java.lang.OutOfMemoryError: GC overhead limit exceeded
2018-08-08 15:05:24,112 INFO [ResponseProcessor for block BP-1779694772-10.xxx.xx.17-1533341581987:blk_1074055963_315162] org.apache.hadoop.util.ExitUtil: Halt with status -1 Message: HaltException
поставьте и точный журнал.