带流的 Hadoop 全局变量

Hadoop global variable with streaming

我知道我可以通过作业和配置为我的映射器提供一些全局值。

但是我如何使用 Hadoop Streaming 来做到这一点(Python 在我的例子中)?

正确的方法是什么?

基于docs你可以指定一个命令行选项(-cmdenv name=value)来在你可以在你的mappers/reducers中使用的每台分布式机器上设置环境变量:

$HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar \
    -input input.txt \
    -output output.txt \
    -mapper mapper.py \
    -reducer reducer.py \
    -file mapper.py \
    -file reducer.py \
    -cmdenv MY_PARAM=thing_I_need