zipファイルを使用してhadoopストリーミングジョブを実行し、参照されているPythonモジュールを保存する手法(stackoverflow)を見てきました。
ジョブ実行のマッピングフェーズ中にエラーが発生しました。私はそれがzipされたモジュールのロードに関連しているとかなり確信しています。
スクリプトをデバッグするために、コマンドラインパイプを使用してsys.stdin / sys.stdoutからマッパーとレデューサーにデータセットを実行したので、次のようになります。
ヘッドinputdatafile.txt| ./mapper.py | 並べ替え-k1,1| ./reducer.py
結果は素晴らしく見えます。
ただし、これをHadoopで実行すると、いくつかの問題が発生し始めます。つまり、マッパーとレデューサーが失敗し、Hadoopジョブ全体が完全に失敗します。
私のzip形式のモジュールファイルには*.pycファイルが含まれています-これはこのことに影響しますか?
また、Hadoopストリーミングを使用したマップ/縮小プロセス中に生成されたエラーはどこにありますか?
-fileコマンドライン引数を使用して、zip形式のモジュールが配置されている場所とマッパーおよびレデューサースクリプトが配置されている場所をhadoopに通知しました。
仕事で使用されるマッパーとリデューサーの数を増やすために、クレイジーな構成オプションを実行していません。
どんな助けでも大歓迎です!ありがとう!