3

Pythonを使用しており、Hadoopストリーミングを使用して次のシナリオに取り組む必要があります。a)Map1-> Reduce1-> Map2-> Reduce2 b)中間ファイルを保存したくないc)Cascading、Yelp、Oozieなどのパッケージをインストールしたくない。私は最後の選択肢としてそれらを保持しました。

私はすでにSOや他の場所で同じ種類の議論を経験しましたが、Pythonで答えを見つけることができませんでした。提案してもらえますか?

4

2 に答える 2

3

b)中間ファイルを保存したくない

c)Cascading、Yelp、Oozieなどのパッケージをインストールしたくありません。

理由は何ですか?応答に基づいて、より良い解決策を提供することができます。

前のHadoopジョブのo/pをi/pとして次のジョブにストリーミングできないため、中間ファイルを回避することはできません。このようなスクリプトを作成します


job1が成功しなかった場合はストリーミングjob1を実行 し、job2が成功した場合は
ストリーミングjob2を実行します。それ以外の場合はjob1のo/pを削除します。job3が成功した場合は ストリーミングjob3を実行します。それ以外の 場合はjob2のo/pを削除します。


于 2012-01-14T06:50:19.767 に答える
2

Dumbohttps: //github.com/klbostee/dumbo/wiki/Short-tutorialやMRJobhttp : //packages.python.org/mrjob/などのPythonストリーミングにMapReduceフレームワークを使用しないのはなぜですか

たとえば、ダンボを使用すると、パイプは次のようになります。

job.add_iter(Mapper1, Reducer1)
job.add_iter(Mapper2, Reducer2)
于 2012-10-22T10:09:12.703 に答える