Скрипт Pig выдает исключение Out Of Memory Exception на Tez, но работает с MapReduce

Показанный ниже сценарий Pig (с механизмом выполнения Tez) выдает исключение Out Of Memory Exception с таблицей сотрудников размером 15 ГБ в кластере из 4 узлов.
Он отлично работает, когда механизм выполнения изменен на MapReduce.

pig -F -x tez -useHCatalog<<EOF
EMP_TMP = LOAD 'employee' USING org.apache.hive.hcatalog.pig.HCatLoader();
EMP = foreach EMP_TMP generate emp_id, log_time , dept_id, 10 as emp_type;
EMP_VALID =  filter EMP by (ToDate(ToString(log_time, 'yyyy-MM-dd'),'yyyy-MM-dd') >= ToDate('2015-09-01','yyyy-MM-dd') and ToDate(ToString(log_time, 'yyyy-MM-dd'),'yyyy-MM-dd') <= ToDate('2015-09-30','yyyy-MM-dd'));
STORE EMP_VALID INTO 'EMP_VALID' USING org.apache.hive.hcatalog.pig.HCatStorer();
EOF

Сообщение об ошибке,

2015-11-13 11:34:06,113 [PigTezLauncher-0] INFO  org.apache.tez.client.TezClient - Submitting dag to TezSession, sessionName=PigLatin:DefaultJobName, applicationId=application_1447412577542_0027, dagName=PigLatin:DefaultJobName-0_scope-0
grunt> 2015-11-13 11:34:07,953 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 6016: Out of memory.  

Размер таблицы слишком мал по сравнению с памятью и хранилищем кластера.
Есть ли в Tez какой-либо параметр памяти, для которого требуется определенная конфигурация?


person Optimus Prime    schedule 15.11.2015    source источник
comment
пробовали увеличить память? например НАБОР mapred.child.java.opts '-Xmx4096M'   -  person Frederic    schedule 16.11.2015


Ответы (1)


Я смог исправить это, увеличив размер кучи свиньи, значение которого по умолчанию очень мало в свинке.

export PIG_HEAPSIZE=8192
person Optimus Prime    schedule 04.06.2020