問題タブ [hadoop-partitioning]
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.
hadoop - Hadoop マップによる二次ソートの削減
hadoop で二次ソートがどのように機能するかを説明できる人はいますか?
なぜ使用する必要がありGroupingComparator
、hadoop でどのように機能するのですか?
以下のリンクを調べていて、groupcomapator がどのように機能するか疑問に思いました。
グループ化コンパレータの仕組みを説明できる人はいますか?
http://www.bigdataspeak.com/2013/02/hadoop-how-to-do-secondary-sort-on_25.html
hadoop-partitioning - hadoop パーティショナーが正しくない削減カウントを取得する
今日はパーティショナーに取り組んでいます。Hadoop カスタム パーティショナーの基本プログラムです。以下は、私のパーティショナー コード スニペットです。
public class VowelConsPartitioner extends Partitioner {
}
そして、このようにドライバークラスにレデューサーを設定しました....
job.setNumReduceTasks(3); job.setPartitionerClass(VowelConsPartitioner.class);
複数のレデューサーを保持したい。しかし、私は 1 つのレデューサーでのみ o/p を取得しています。さらに、パーティショナー コードを見ると、最初の sysout (コメント済み) が redCnt を 1 としてくれていました。ドライバー クラスからカウントを 3 に設定したときに、それがどのように発生するのかわかりません。誰かがこれについて私を助けてくれますか?
参考までに...私はjarを作成し、これをHDFSで実行しています。
hadoop - Hadoop で圧縮データを受け入れるタスクを減らすことができます
map が圧縮データと非圧縮データを受け入れて出力できることがわかります。私は Cloudera のトレーニングを受けていましたが、教師は、reduce タスクの入力はキー値の形式でなければならないため、圧縮されたデータを操作できないと述べました。
そうですか?それが正しい場合、タスクを減らすためにシャフラー/パーティショナーからバグ データを転送するときにネットワーク レイテンシを処理するにはどうすればよいですか。
ご協力いただきありがとうございます。
hadoop - 入力ファイルは map-reduce フレームワークによってどのようにチャンクに分割されますか?
チャンク、たとえばチャンク i がマッパーによって読み取られると、このチャンク内のレコードに関する情報が F_i という補助ファイルに格納される、反復的な mapreduce ジョブがあります。次の反復 (ジョブ) では、別のマッパーがチャンク i を読み取る可能性があります。ただし、このマッパーは補助ファイル Fi の一部の情報を更新する必要があります。これを行うメカニズムはありますか?
異なるチャンクを区別する方法が得られれば、解決できると思います。たとえば、各チャンクに一意の名前が付けられている場合、マッパーはそれがフィードしたチャンクの補助ファイルを単純に読み取ることができます。
hadoop - map-reduceでマッパーが小さなサイズの入力を読み取る方法は?
入力が大きなデータ セット (サイズが 100GB としましょう) である map-reduce ジョブがあります。この map-reduce ジョブが行うことは、ビッグ データをチャンクに分割し、データ チャンクごとに 1 つずつ個別のファイルを書き込むことです。つまり、ジョブの出力は複数のファイルで、それぞれのサイズは 64MB です。
この map-reduce ジョブの出力は、別の map-reduce ジョブの入力として使用されます。新しい入力は複数のファイルで構成され、それぞれのサイズが 64MB であるため、2 番目の map-reduce ジョブの各マッパーは 1 つのファイルのみを読み取りますか、それとも複数のファイルを読み取る可能性がありますか?
java - 巨大な文字列のマッパー出力/リデューサー入力を最適に決定する方法
HBase をソースおよびシンクとして使用する MR ジョブを改善する必要があります。
基本的に、マッパーで 3 つの HBase テーブルからデータを読み取り、リデューサーが計算を行って HBase テーブルにダンプするための 1 つの巨大な文字列としてそれらを書き出します。
マッパーの出力は次のようになります。
これは、Table1 の 1 行分です。同様に、1900 万のマッパー出力。
HouseHoldID 値に基づいて並べ替えることに興味があるので、この手法を使用しています。ペアのVの部分は興味ないので無視です。私のマッパークラスは次のように定義されています:
私の MR ジョブが完了するまでに 22 時間かかりますが、これはまったく望ましくありません。どういうわけかこれを最適化して、どうにかしてもっと速く実行することになっています..
私の HBase Table1 には 21 のリージョンがあるため、21 のマッパーが生成されます。8 ノードの cloudera クラスターを実行しています。
私はここで何か間違っていますか?
カスタム SortComparator または Group Comparator またはそのようなものを使用して、より効率的にする必要がありますか?
hadoop - Hadoop はバケット/ノード間での分散をどのように決定しますか?
Map/Reduce と Hadoop フレームワークは初めてです。単一のマシンで Hadoop プログラムを実行しています (試してみるため)。n 個の入力ファイルがあり、それらのファイルの単語の要約が必要です。マップ関数がキーと値のペアを返すことは知っていますが、マップはどのように呼び出されますか? 各ファイルに 1 回、またはすべてのファイルの各行に 1 回? 構成できますか?
各キーに対して「reduce」が呼び出されると仮定するのは正しいですか?
java - Hadoop ディスク使用量 (中間削減)
私は Hadoop の初心者で、クラスターを使用しており、15 GB のディスク見積もりを持っています。大きなデータセット (約 25 GB) でwordcount サンプルを実行しようとすると、常に例外が発生します。
例外発生後のディスク使用量を確認しましたが、見積もりとはかけ離れています。これは、一時ファイルまたは中間ジョブによるものですか? 一時/中間ファイルを削除することはできますか?
(Java コードで構成を変更できますが、.xml 構成ファイルに直接アクセスすることはできません)
ありがとう!;)