【问题标题】:Managing dependencies with Hadoop Streaming?使用 Hadoop Streaming 管理依赖项?
【发布时间】:2010-05-19 01:46:32
【问题描述】:
我有一个关于 Hadoop 流的快速问题。如果我正在使用 Python 流并且我有我的映射器/减速器需要但默认未安装的 Python 包,我是否需要在所有 Hadoop 机器上安装这些包,或者是否有某种序列化将它们发送到远程机器?
【问题讨论】:
标签:
python
hadoop
mapreduce
hadoop-streaming
【解决方案1】:
如果您的任务箱上没有安装它们,您可以使用 -file 发送它们。如果您需要一个包或其他目录结构,您可以发送一个 zipfile,它将为您解压。这是一个 Haddop 0.17 调用:
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-0.17.0-streaming.jar -mapper mapper.py -reducer reducer.py -input input/foo -output output -file /tmp/foo.py -file /tmp/lib.zip
但是,请参阅此问题以获取警告:
https://issues.apache.org/jira/browse/MAPREDUCE-596