問題タブ [mrjob]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Hadoop ストリーミングと mrjob を使用してジョブを実行する: PipeMapRed.waitOutputThreads(): subprocess failed with code 1
ねえ、私はビッグデータの世界にかなり慣れていません。http://musicmachinery.com/2011/09/04/how-to-process-a-million-songs-in-20-minutes/でこのチュートリアルに出会いました
ローカルと Elastic Map Reduce の両方で mrjob を使用して MapReduce ジョブを実行する方法について詳しく説明します。
これを自分の Hadoop クラスターで実行しようとしています。次のコマンドを使用してジョブを実行しました。
そして、これは私が得るものです:
注:私が含めた他のフォーラムで提案されているように
私のpythonファイルdensity.pyとtrack.pyの両方の先頭にあります。ほとんどの人にとってはうまくいったようですが、それでも上記の例外が発生し続けています。
編集:別のファイルtrack.pyで定義された元のdensity.pyで使用されている関数の1つの定義をdensity.py自体に含めました。ジョブは正常に実行されました。しかし、誰かがなぜこれが起こっているのかを知っていれば、本当に役に立ちます.
python - エラスティック マップ リデュース エラー
Elastic Map Reduce を使用するとエラーが発生しますが、あまり説明的ではないため、その意味がわかりません。私が得ている JSONDecodeError の種類を具体的に知りたいです。「12」は説明的ではありません。これが出力です。私はMRjobクラスを使用しています
python - MRjob でパラメーターをレデューサーに渡す
MRjob を使用して、HBase インスタンスで Hadoop ストリーミング ジョブを実行しています。私の人生では、パラメーターをレデューサーに渡す方法がわかりません。ジョブの実行時にレデューサーに渡したい 2 つのパラメーターがあります: startDate と endDate です。現在のレデューサーは次のようになります。
startDate と endDate をパラメーターとしてレデューサーに渡すことができないようです。パラメーターを取得するジョブを取得できる唯一の方法は、クラスの上部にあるグローバル変数を使用することです。
しかし、それは汚いです。ジョブの呼び出しから渡したい。私は多くの方法を試しました。インスタンス変数として設定し、静的クラス変数として設定し、MRDataQualityJob のオーバーロードされたコンストラクターを作成します....何も機能していないようです。次のように、トップレベルのスクリプトからプログラムで呼び出しています。
mrdq_job インスタンスに何をしても、 runner.run() は、インスタンスまたは静的変数が定義されていないクラスの新しい新しいインスタンスを使用しているようです。パラメーターをレデューサーに渡すにはどうすればよいですか???? 文字列「--reducer reducer.py arg1 arg2」を渡すことで、通常の Hadoop ストリーミングでそれを行うことができます。MRjobに相当するものはありますか?
python - mjob による LZO シーケンス ファイルの処理
Google Ngrams データを使用してさまざまな統計を計算するために、 mrjobでタスクを作成しています: https://aws.amazon.com/datasets/8172056142375670
タブ区切りテキストのデータの非圧縮サブセットを使用して、スクリプトをローカルで開発およびテストしました。ジョブを実行しようとすると、次のエラーが発生しました。
おそらくこれは、公開データ セットの圧縮スキームが原因であると考えられます (上記の URL リンクから)。
データセットを Amazon S3 の単一のオブジェクトに保存します。ファイルは、ブロック レベルの LZO 圧縮を使用したシーケンス ファイル形式です。シーケンス ファイルのキーは、LongWritable として保存されたデータセットの行番号であり、値は TextWritable として保存された生データです。
これらのファイルを処理できるワークフローを設定する方法に関するガイダンスはありますか? ヒントを徹底的に検索しましたが、役立つものは何も見つかりませんでした...
(私は mrjob と Hadoop に対して相対的に無知です。)
python - EMR で mrjob にデータファイルを含めるにはどうすればよいですか?
Amazon の EMR で mrjob を実行しようとしています。インライン ランナーを使用してローカルでジョブをテストしましたが、Amazon で実行すると失敗します。失敗を外部データ ファイルへの依存に絞り込みましたzip_codes.txt
。ハードコーディングされた郵便番号データを使用してその依存関係なしで実行すると、問題なく動作します。
アップロード ファイル引数を使用して、必要なデータ ファイルを含めようとしました。S3 を見ると、ファイルはそこにありましたが、明らかに何か問題が発生しているため、ローカルでアクセスできません。
これが私のmrjob.conf
ファイルです:
これは私のMR_zip.py
ファイルです。
最後に、次のコマンドで実行します。
zip_codes.txt は次のようになります。
poi.txt は次のようになります。
python - mrjob Python プログラムのメイン ステートメントが 1 行のコードしか受け入れないのはなぜですか?
mrjob プログラムの実行時間を知りたいです。ただし、before と afterunindent does not match any outer indentation level
を入れるとエラーが発生し、これに関するドキュメントが見つかりませんでした。私は何が欠けていますか?time.time()
MRWord.run()