Как изменить настройки памяти для Hive Activity, работающей в конвейере данных AWS?
Пока работает один Hive Activity
с помощью AWS Data Pipeline
, моя активность Hive завершается с ошибкой:
Diagnostics: Container [pid=,containerID=] is running beyond physical memory limits.
Current usage: 1.0 GB of 1 GB physical memory used;
2.8 GB of 5 GB virtual memory used. Killing container.
Когда я запустил скрипт Hive, который выполнялся Hive Activity вручную, мне пришлось выполнить его, как показано ниже:
hive \
-hiveconf tez.am.resource.memory.mb=16000 \
-hiveconf mapreduce.map.memory.mb=10240 \
-hiveconf mapreduce.map.java.opts=-Xmx8192m \
-hiveconf mapreduce.reduce.memory.mb=10240 \
-hiveconf mapreduce.reduce.java.opts=-Xmx8192m \
-hiveconf hive.exec.parallel=true
-f <hive script file path.>
С этими настройками скрипт Hive выполняется отлично.
Теперь вопрос: как передать эти настройки в Hive Activity конвейера данных AWS? Я не могу найти способ пройти -hiveconf
Улей деятельности.
1 ответ
Как вы называете свой скрипт улья в DataPipeline? Если вы используете ShellCommandActivity, вы сможете передавать эти -hiveconf так же, как в командной строке, и они должны нормально работать.