問題タブ [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.
python - Hadoop の Map 関数の入力分割
これは Hadoop での私の最初の実装です。Map Reduce で確率的データセットのアルゴリズムを実装しようとしています。私のデータセットでは、最後の列にいくつかの ID があります (データセット内の一意の ID の数は、クラスター内のノードの数と同じです)。この列の値に基づいてデータセットを分割する必要があり、レコードの各セットはクラスター内の各ノードによって処理される必要があります。
たとえば、クラスターに 3 つのノードがある場合、以下のデータセットでは、1 つのノードが id=1 のすべてのレコードを処理し、別のノードが id=2 のレコードを処理し、別のノードが id=3 のレコードを処理する必要があります。
私のマップ関数は、各分割を入力として受け取り、各ノードで並行して処理する必要があります。
Hadoopでどのアプローチが可能かを理解しようとしています。このデータセットをマップ関数の入力として入力し、追加の引数を map に渡して、id 値に基づいてデータを分割します。または、事前にデータを「n」(ノード数)のサブセットに分割してノードにロードします。これが正しいアプローチである場合、値に基づいてデータを分割し、異なるノードにロードする方法。私の読書から私が理解したのは、hadoop が指定されたサイズに基づいてデータをブロックに分割したことです。ロード中に特定の条件を指定するにはどうすればよいですか。まとめると、私は自分のプログラムをPythonで書いています。
誰かアドバイスください。ありがとう
c++ - C ++を使用して2つのマッパーと1つのリデューサーを使用したHadoop mapreduce
このリンクの指示に従って、単一のマッパーと単一のリデューサーを使用して、C++ で wordcount プログラムを実装しました。ここで、同じ問題に対して 2 つのマッパーと 1 つのレデューサーを使用する必要があります。
この点で誰かが私を助けてくれますか?
hadoop - 個々のタスクについて、Hadoop の組み込みカウンターを読み取ることができますか?
Hadoop の組み込みカウンターを個々のタスクに対して定期的に (たとえば 500 ミリ秒または 1 秒ごとに) 読み取り、ファイルに記録できますか。それができるなら、どうやってそれを行うのですか?
個々のタスク pid を取得するには?
hadoop - 起動されたreduceタスクと回数の違いは、呼び出される関数を減らしますか?
Hadoopの学習を始めたばかりで、カスタムパーティショナーとコンパレーターを使用してhadoop map-reduceプログラムを実行しています(最初に単一ノード環境で試し、後でクラスターに展開します)、奇妙な動作(実際に何が起こっているのかわからないため) )私が観察しているのは、私のパーティショナーとコンパレーターによると、5回のreduceメソッドが呼び出されていることです。これは、ログからもcorssチェックしたためです。ただし、コンソールでは、起動されたreduceタスクの数はまだ「1」です。これらの 5 つの関数呼び出しが並行して実行されているかどうかについて、私は大きな疑問を抱いています。そうでない場合、これらのreduce関数呼び出しによって収集されるデータが大きくなるため、これらのreduce関数呼び出しに対して分散コンピューティングの利点をどのように達成できますか。明確にしてください、私が欠けている概念は何ですか?
java - 複合キーが変更される、Hadoop Map-Reduce?
Hadoop の学習を開始したばかりで、カスタム パーティショナーとコンパレーターを使用して Hadoop マップ削減プログラムを実行しています。私が直面している問題は、プライマリおよびセカンダリの並べ替えが複合キーで行われていないことです。他の複合キー部分で変更されています。
たとえば、マッパー内に次のキーを作成しています
パーティショナーとコンバイナーは次のとおりです
レデューサーでは、これらのキーはタグに従って適切にグループ化されていますが、適切にソートされていません。レデューサーのキーの順序と内容は次のとおりです。
それを解決するために長い間試みましたが、まだ成功していません。
hadoop - レデューサーは常に失敗し、マップは成功します
1GB のテキスト ファイルで単純なワードカウント ジョブを実行しています。私のクラスターには 8 つのデータノードと 1 つのネームノードがあり、それぞれに 3GB のストレージ容量があります。
wordcount を実行すると、map が常に成功し、reducer がエラーをスローして失敗することがわかります。以下のエラーメッセージを見つけてください。
この問題を解決する方法を教えてください。
ありがとうナバス
sorting - Hadoop パーティショナーが機能しない
これが私のパーティショナー コードで、キーは次の形式です。
"str1||str2"
str1
、同じ値を持つすべてのキーを同じレデューサー に送信したいと思います。
私の GroupComparator と KeyComparator は次のとおりです。
現在受け取っているエラーは次のとおりです。
しかし、私が知る限り、Partitioner インターフェイスの唯一のメソッドである getPartition() メソッドをオーバーライドしましたか? 私が間違っていることとそれを修正する方法を特定するための助けをいただければ幸いです。
前もって感謝します!
hadoop - 単一のキーを複数のレデューサーに送信するカスタム パーティショナー?
鍵が1つしかない場合。1 つのレデューサーのみに送信されるのを回避する (複数のレデューサーに分散する) ことはできますか?
レデューサーの出力を結合するために、2 つ目の map reduce プログラムが必要になる場合があることを理解していますか? これは良いアプローチですか?もしくは良い方法があれば教えてください。