問題タブ [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 - mrjobを使用して、1つのディレクトリの下にあるすべてのファイルを繰り返し処理するにはどうすればよいですか
mrjob を使用してファイルのバッチを処理し、統計を取得しています。次のように、単一のファイルで mapreduce ジョブを実行できることを知っています
しかし、ファイルのディレクトリをスクリプトにフィードするにはどうすればよいでしょうか? ファイルのディレクトリ構造はこのようfolder/subfolders/files
になっていますが、何か提案はありますか?
python - Eclipseからmrjobで記述されたPythonMapReduceプログラムをデバッグする方法
UbuntuでEclipseを使用して、Pythonのmrjobライブラリで記述されたmapreduceジョブをデバッグしようとしています。誰かがこれをどのように行うことができるか考えていますか?
python - Amazon EMR で mrjob を使用して Mapreduce プログラムを実行することに関する基本的な疑問
mrjob は初めてで、Amazon EMR でジョブを実行するのに問題があります。順番に書いていきます。
- ローカル マシンで mrjob を実行できます。しかし、/home/ankit/.mrjob.conf と /etc/mrjob.conf に mrjob.conf がある場合、ローカル マシンでジョブが実行されません。これが私が得ているものです。https://s3-ap-southeast-1.amazonaws.com/imagna.sample/local.txt
- ドキュメントの「MR_CONFで指定した場所」のMRJOB_CONFとは?
- 「base_tmp_directory」の用途は何ですか? また、ジョブを開始する前に S3 に入力データをアップロードする必要がありますか?それとも、実行を開始するときにローカル コンピューターからロードされますか?
- numpy、scikit などのライブラリを使用する場合、ブートストラップを行う必要がありますか? はいの場合、どのように?
- これは、EMR https://s3-ap-southeast-1.amazonaws.com/imagna.sample/emr.txtでジョブを実行するコマンドを実行したときに得られるものです。
解決策はありますか?
どうもありがとう。
hadoop - mrjobドキュメントの「MRJOB_CONFで指定された場所」
mrjobドキュメントの「MRJOB_CONFで指定された場所」はどのパスですか? mrjob ドキュメントへのリンク: http://mrjob.readthedocs.org/en/latest/guides/configs-basics.html
hadoop - Hadoop Streaming と Python を使用して MapReduce ジョブをチェーンするのに役立つ優れたライブラリはありますか?
この質問は私の質問の一部に答えますが、完全には答えません。
これを管理するスクリプトを実行するにはどうすればよいですか?ローカルのファイルシステムからですか? MrJob や Dumbo のようなものは具体的にどこに出てくるのでしょうか? これ以上の代替手段はありますか?
Hadoop ストリーミングと Python を使用して、各反復 (MapReduce ジョブ) の出力が次の反復への入力となる K-Means を実行しようとしています。
私はあまり経験がなく、この作業を行うのに役立つ情報があれば幸いです。
hadoop - Hadoop での MRJob と mapreduce タスクのパーティショニング
Python MRJob lib を使用して mapreduce ジョブを実行しようとしていますが、Hadoop クラスター全体に適切に分散するのに問題があります。mapreduce の基本原則が欠けているだけだと思います。私のクラスターは小さな、1 つのマスターと 1 つのスレーブのテスト クラスターです。基本的な考え方は、パラメーターを含む一連の Web ページを要求し、それらを分析して、Web ページのいくつかのプロパティを返すというものです。
私のマップ関数への入力は、次のようなパラメーターを持つ URL のリストです。
初期入力のキーと値のペアは、key:None、val:URL のみです。
以下は私のマップ機能です:
非常に単純です。URL にパラメーターが含まれていることを確認し、URL のドメインをキーとして生成し、URL とクエリ パラメーターを値として提供するタプルを生成するだけです。は次のとおりです。
私の問題は、レデューサー タスクが 1 つしか実行されないことです。レデューサー タスクの数は、マッパーによって発行された一意のキーの数と等しいと予想されます。上記のコードの最終結果は、マスターで実行されるレデューサーが 1 つあるということですが、スレーブは何もせずに何もせず、明らかに理想的ではありません。私の出力では、いくつかのマッパー タスクが開始されていることに気付きましたが、常に 1 つのリデューサー タスクのみです。それ以外は、タスクはスムーズに実行され、すべてが期待どおりに機能します。
私の質問は...一体私は何を間違っているのですか? reduce ステップを誤解しているか、キーと値のペアをどこかで台無しにしていますか? このジョブで複数のレデューサーが実行されていないのはなぜですか?
更新:OKなので、回答から mapred.reduce.tasks をより高く増やしました(これはデフォルトであり、現在は1であることに気づきました)。これが確かに、1つのレデューサーを取得していた理由です。3 つの削減タスクが同時に実行されていることがわかります。解決する必要があるスレーブでインポートエラーが発生しましたが、少なくともどこかに到達しています...
python - map reduce に mrjob で sqlite3dbm を使用する
キーと値のペアでデータを格納する sqlite3dbm があります。を使用して処理する必要がありますmrjob
。コードを実行するとxyz.py my_db.db
、マッパー fn が正しく動作しません。
私はnullを取得しますk
java - カスタム hadoop-streaming.jar をバンドルする方法
CombineFileInputFormat
YelpのEMR用MrJobツールを使用してクラスを使用しようとしています。ジョブフローは Hadoop ストリーミングを使用して作成され、MrJob のドキュメントには、CombineFileInputFormat
クラスをカスタマイズされた .xml ファイルにバンドルする必要があることが示されていhadoop-streaming.jar
ます。
コンテキストについては、この質問に従ってください。
具体的には私の質問は次のとおりです。具象クラスは、CombinedInputFormat.class
内でどこにバンドルまたは参照する必要がありhadoop-streaming.jar
ますか?
CombinedInputFormat.class
ディレクトリに追加して実行することで、をバンドルしようとしましたorg/apache/hadoop/streaming
:
これを行うと、ストリーミング ジョブフローが開始され、オプション-inputformat CombinedInputFormat
でジョブが最初のステップを開始して中断し、エラーが発生します。
ルートパスに設定しようとすると、次のようになります。
私が得るエラーは次のとおりです。
NoClassDefFoundError
CombinedInputFormat.class をバンドルして正しく取得し、エラーを解決するにはどうすればよいですか?
hadoop - mapreduce の並べ替えとシャッフルはどのように機能しますか?
map-reduce 機能を実現するために yelps MRJob ライブラリを使用しています。map reduce には、キーに基づいて値をソートする内部ソートおよびシャッフル アルゴリズムがあることを知っています。したがって、マップフェーズの後に次の結果が得られた場合
ソートとシャッフルのフェーズで次の出力が生成されることはわかっています
どっちが予想通り
しかし、2 つの類似したキーと異なる値がある場合、並べ替えとシャッフル フェーズで最初に表示される値に基づいてデータが並べ替えられるのはなぜですか?
たとえば、マッパーから次の値のリストがある場合
期待される出力は
しかし、私が得ている出力は
この MRjob ライブラリ固有のものですか? 値に基づいてこのソートを停止する方法はありますか??
コード