我有一个快速的 Hadoop Streaming 问题。如果我正在使用 Python 流式传输并且我有我的映射器/缩减器需要但默认情况下没有安装的 Python 包,我是否也需要在所有 Hadoop 机器上安装它们,或者是否有某种序列化将它们发送到远程机器?
最佳答案
如果它们没有安装在您的任务箱中,您可以使用 -file 发送它们。如果您需要一个包或其他目录结构,您可以发送一个 zip 文件,它会为您解压。这是一个 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
但是,请参阅此问题以获取警告:
关于python - 使用 Hadoop Streaming 管理依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2862345/