hadoopmapreduce环境变量

0qx6xfy6  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(465)

我正在用hadoopmapreuce环境变量进行实验。我的用例是相当不寻常的,但这不是我挣扎的原因。
我的目标是在所有Map器和还原器上导出环境变量。我用的是 mapreduce.map.env 以及 mapreduce.reduce.env conf设置如下:

hadoop jar myJob.jar -Dmapreduce.map.env="A=foo"

这是伟大的作品,确实揭露 A 在我所有的Map上。在这一点上,我将提到这一点 mapreduce.map.env 互联网上确实缺乏文档或用例示例。
我的问题是,我的项目按层运行mapreduce作业每个层都可以向hadoopjar命令传递标志,而我不控制上层。
因此,我可以运行以下命令:

hadoop jar -Dmapreduce.map.env="A=foo" -Dmapreduce.map.env="B=foo2"

据我所知和实验(如果我错了请纠正我)这个命令只会在我的mapper环境中暴露“b=foo2”。
我在网上找不到克服这个问题的方法。
注意:由于我只知道要在运行时公开的env变量(它是动态的,可以更改),所以无法将env变量添加到Map的default/stie.xml中

6rvt4ljy

6rvt4ljy1#

根据@cricket\u007答案:你可以用逗号分隔一个参数。如果传递多个,它们会相互覆盖。
干得不错

相关问题