0
在使用AWS Data Pipeline
运行一个Hive Activity
,我的蜂巢活动未能与以下错误:如何更改在AWS数据管道中运行的Hive Activity的内存设置?
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 \
-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脚本可以完美地执行。
现在的问题是我如何将这些设置传递给AWS数据管道的Hive活动?我似乎无法找到任何方式将-hiveconf
传递给Hive活动。
可以使用ShellCommandActivity,但我想知道是否有任何方法使用HiveActivity本身来实现同样的事情。 – Shekhar
我知道它晚了点,但你应该能够在数据管道中使用“SCRIPT VARIABLE”选项来完成这项工作,并且有https://stackoverflow.com/questions/23415400/how-to-use-scriptvariables-in-hive -aws数据流水线 – Krish