2010-05-19 155 views
0

我有一個快速的Hadoop Streaming問題。如果我正在使用Python流,並且我有我的映射器/減速器需要但未默認安裝的Python包,我是否還需要在所有Hadoop機器上安裝這些包,或者是否有某種序列化將它們發送到遠程機器?使用Hadoop Streaming管理依賴關係?

+0

氏問題展示瞭如何在每個節點上導入nltk。 http://stackoverflow.com/questions/6811549/how-can-i-include-a-python-package-with-hadoop-streaming-job/6811775#6811775 – viper 2013-11-04 18:08:47

回答

2

如果它們未安裝在任務框中,可以使用-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 

但是,看到這個問題的一個警告:

https://issues.apache.org/jira/browse/MAPREDUCE-596