質問

簡単なHadoopストリーミングの質問があります。 Pythonストリーミングを使用していて、マッパー/リデューサーが必要とするがデフォルトではインストールされていないPythonパッケージがある場合、すべてのHadoopマシンにそれらをインストールする必要がありますか、それともそれらを送信する何らかのシリアル化がありますか?リモートマシン?

役に立ちましたか?

解決

タスクボックスにインストールされていない場合は、-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

他のヒント

ダンボを使用する場合は、-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