我有一个快速的Hadoop流媒体问题。如果我使用的是Python流媒体,并且我的映射器/还原器所需的python软件包,但默认不安装,我还需要在所有Hadoop机器上安装它们,或者是否有某种序列化将它们发送到远程机器?

有帮助吗?

解决方案

如果它们未安装在任务框上,则可以使用-file发送它们。如果您需要包装或其他目录结构,则可以发送Zipfile,该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

其他提示

如果使用Dumbo,则可以使用-libegg分发鸡蛋文件并自动配置Python运行时:

https://github.com/klbostee/dumbo/wiki/short-tutorial#wiki-eggs_and_jarshttps://github.com/klbostee/dumbo/wiki/configuration-files

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top