問題タブ [reducers]
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.
mapreduce - マッパー、レデューサー、フィルター
map /reducealghoritmとその使用法について知っています。マッパーとレデューサーと呼ばれる関数を使用していますが、フィルターという言葉を使用している人もいます。
フィルタはマッパーと同じですか、それとも大きな違いがありますか?
amazon-web-services - Amazon MapReduce のリデューサー ジョブなし
AWS 経由でマッパーのみのジョブ (ストリーミング ジョブ) を作成しようとしています。reducer フィールドは必須なので、ダミーの実行可能ファイルを指定し、 -jobconf mapred.map.tasks=0 を Extra Args ボックスに追加します。私がインストールした Hadoop 環境 (バージョン 0.20) では、reducer ジョブは起動しませんが、AWS ではダミーの実行可能ファイルが起動して失敗します。
レデューサーなし/マッパーのみのジョブを AWS で実行するにはどうすればよいですか?
mapreduce - 各マップタスクのIDを見つける方法は?
マッパーとリデューサーの ID に従って、これらのマッパーとリデューサーの出力にタグを付けたいため、各マッパーとリデューサーのタスクの ID を取得したいと考えています。それぞれのIDを取得するにはどうすればよいですか?
ありがとう
mapreduce - MapReduceの非効率的なレデューサー
map関数によって出力されるすべてのキーが同じである以外に、MapReduceジョブで1つのレデューサーのみが発生する原因は何でしょうか。
hadoop - Hadoop PIG の出力が PARALLEL 演算子で複数のファイルに分割されない
何かが足りないようです。データのレデューサーの数によって HDFS にその数のファイルが作成されますが、データは複数のファイルに分割されません。私が気付いたのは、group by
次のデータがキーに基づいて2つのファイルにうまく分割されているように、連続した順序でキーを実行すると正常に機能することです。
しかし、このデータは分割されません:
私が使用したコードは、一方では正常に機能し、他方では正常に機能しません
上記のコードは 2 つの出力パーツ ファイルを作成しますが、最初の入力ではデータを適切に分割し、 key 1
inpart-r-00000
と key 2
inを配置しpart-r-00001
ます。しかし、2 番目の入力では 2 つの部分ファイルが作成されますが、すべてのデータは最終的にpart-r-00000
. 何が足りないのですか? 一意のキーに基づいてデータを強制的に複数の出力ファイルに分割するにはどうすればよいですか?
注: 2 番目の入力PARALLEL 3
(3 つのレデューサー) を使用する場合、3 つの部分ファイルが作成され、キー入力のすべてのデータとキー入力ファイルのすべてのデータが追加1
さpart-0
れ3
ますpart-3
。この振る舞いは奇妙だと思いました。ところで、Cloudera CDH3B4 を使用しています。
variables - レデューサーの出力ディレクトリ パスを Hadoop の変数に保存する
Hadoop レデューサーの出力パスを変数に保存するにはどうすればよいですか?
この変数は、他のすべての MR ジョブで使用されます。
これらのジョブは順次実行されます。
すべての順次 MR ジョブは、対応する出力をその出力ディレクトリに書き込みます。
それに応じてパス変数を更新する必要があります。
hadoop - Hadoop マッパーは一意のキーを発行します。マップごとにレデューサーを実行できますか?
私のマッパーは「一意のキー」と「非常に大きな値」のペアを出力します。
私のレデューサーは、キーが一意であることを知りません。したがって、リデューサーはすべてのマッパーが完了するまで待機します。
コンバイナーを使用しようとしましたが、レデューサーが非常に複雑であるため、簡単な解決策ではありません。
私の質問は、マップごとにレデューサーを実行するにはどうすればよいですか? コンバイナーを使わずに。
java - SequenceFileOutputFormatからのレデューサー出力の連結
setOutputFormat(SequenceFileOutputFormat.class)で構成された100個のレデューサーを使用するジョブがあります。
ジョブの実行後、次のコマンドを使用してすべてのパーツファイルを結合し、圧縮で正しく機能させることはできますか?
hadoop fs -cat output / part *> fullOutput
そうでない場合は、複数のレデューサーを使用して、それらのすべての出力を1つのファイルにまとめるのに適した方法は何ですか?
どうもありがとう、
- 美術
memory - EMR インスタンスにマッパーと同じ数のレデューサーがないのはなぜですか?
デフォルトでは、EMR ジョブ中、インスタンスはマッパーよりも少ないレデューサーを持つように構成されます。しかし、レデューサーには追加のメモリが与えられていないため、同じ量を持つことができるはずです。(たとえば、特大の高 CPU インスタンスには 7 つのマッパーがありますが、レデューサーは 2 つしかありませんが、マッパーとレデューサーの両方が 512 MB の利用可能なメモリで構成されています)。
これがなぜなのか誰かが知っていますか?マッパーと同じ数のレデューサーを使用するように指定できる方法はありますか?
編集:量が間違っていました.512 MBです
hadoop - mapreduce ジョブの「Combiner」クラス
コンバイナーは、マッパーの後、リデューサーの前に実行され、特定のノードのマッパー インスタンスによって発行されたすべてのデータを入力として受け取ります。次に、Reducer に出力を発行します。
また、reduce 関数が可換かつ結合的である場合は、Combiner として使用できます。
私の質問は、この状況で「交換可能かつ結合的」というフレーズはどういう意味ですか?