問題タブ [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.

0 投票する
1 に答える
244 参照

hadoop - Hadoop でパーティショニングが機能しない

私のコードでは、データを3つの部分に分割していますが、出力では、リデューサーの数を3に設定しても、0番目のパーティションによって返される出力のみが得られます

私のコード

レデューサーの数を次のように設定します

0番目のパーティションのみの出力、つまり0を返す

0 投票する
1 に答える
2195 参照

hadoop - Hadoop ストリーミング KeyFieldBasedPartitioner

freebase ダンプ (タイトル、エイリアス、タイプ名) から avro にデータを抽出しています (まだこのジョブではありません)。Pythonでmapreduceストリーミングを使用しています。

このジョブ レデューサーは、タイプ タイトル (通常は任意のオブジェクト タイトル) と、オブジェクトへのタイプ ID 参照を想定しています。記録の形式は次のとおりです。 id%relation\tvalue

例えば:

レデューサーは以下を放出します:

タイトルは参照に先行し (したがって、レデューサーはそれを記憶し、参照解除されたレコードを出力します)、1 つのタイプに関連するすべてのレコードは 1 つのレデューサーに分割する必要があります。これは、キーの並べ替えによって保証されます。複合キーを使用しているため、レコードを正しく分割する必要があります。KeyFieldBasedPartitioner を構成 "-k1,1" で使用しており、キー フィールド セパレータを "%" に設定しています。「common.topic」や「m.01dyhm」などのオブジェクト識別子でデータを分割する必要があります。しかし、私の設定が間違っていると思います。単一のレデューサー (Hortonworks VM) で動作しますが、32 ノード クラスター (私は直接アクセスできないため、効果的に実験することはできません) で空のファイルを出力します。パーティショニングが間違っていて、単一のレデューサーに参加するデータがないと思います。

これは私のhadoopコマンドです:

パーティショナーの構成は正しいですか? 助けてくれてありがとう。

0 投票する
1 に答える
297 参照

hadoop - 日付間の時差を取得する Hadoop

Hadoopでこのようなことに苦労しています

マッパーの結果として次のようになります

そして続く..

結局のところ、私はこれが欲しいです。

どんな入力でも大歓迎です。乾杯

0 投票する
1 に答える
647 参照

hadoop-partitioning - Hadoop TotalOrderPartitioner

次のコードを使用して、hadoop で全順序パーティショナーを使用しようとしています。

このコードは、次のように例外をスローして実行しています。

0 投票する
2 に答える
13515 参照

hadoop - 失敗: ParseException: 列指定の 'exchange' 'string' ',' 付近の入力を認識できません

最新の AWS Hive バージョン0.13.0を使用しています。

以下の (テーブルの作成) クエリを実行すると、上記のエラーが発生します。

「xch」のように交換の名前を変更すると、テーブルが正常に作成されます。何らかの理由?

0 投票する
1 に答える
527 参照

mapreduce - マップ/リデュースでシャッフル/ソートをオーバーライドする方法、または最後の要素からパティショナーまでのマップ/リデュースでソートされたリストを取得するにはどうすればよいですか

レデューサーが1つだけであると仮定します。

私のシナリオは、大学の上位 N 人のスコアラーのリストを取得することです。データは形式です。Map/reduce フレームワークは、デフォルトでデータを昇順に並べ替えます。しかし、リストを降順で並べたい、または少なくともソートされたリストに最後からアクセスできれば、私の作業は非常に簡単になります。レデューサーに大量のデータを送信する代わりに、データを制限することができます。(定義済みの Shuffle/Sort をオーバーライドしたい) Thanks & Regards Ashwanth

0 投票する
2 に答える
88 参照

hadoop - 最も均一なパーティション結果を得るには?

キーベースのデータパーティションに最適なパーティションを取得するアルゴリズムがあるかどうかはわかりません (同じ結果データセットで同じキーレコードを確保する必要があります)。

例: データセットを 2 つの部分に分割する必要があります:</p>

2^5 種類の異なるパーティションがあります。そのような

そして別のパーティションは次のとおりです。

後者のパーティションは、前者よりも優れています。これは、レコード数を 2 つの部分により均等に分散できるためです。

したがって、最適なパーティションを見つけるためのアルゴリズムが必要です。

このトピックについて誰か提案してもらえますか? この問題にどのようにアプローチできますか?

ありがとう。

0 投票する
0 に答える
874 参照

hadoop - Hive バケットのカスタム ハッシュ関数

複数のレデューサー (eg4) を使用して、Hive で出力結果の全体的な順序付けを実装する必要があります。リンクで見つけたように、ハイブは式を使用しています:

hash_function (バケット列) mod num_buckets.

数値の入力セット (41,42,43,51,52,53) の結果として、バケットは次のようになります。

  • 1 バケット: 52
  • 2 バケット: 41、53
  • 3 バケット: 42
  • 4 バケット: 43,51

したがって、出力は適切な方法で順序付けされません。たぶん、次のような数値セットのバケット化のためのカスタム関数を設定する方法があります:

  • 1 バケット: 41,42
  • 2 バケット: 43,51
  • 3 バケット: 52
  • 4 バケット: 53