問題タブ [partitioner]
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.
c# - カスタム パーティショナーの実装方法
実装方法を理解しようとしていますPartitioner<T>
。
私の場合:
ファイルから読み取り、Azure テーブル ストレージに挿入します。プロセスをスピードアップするためにタスクを使用します。ファイルには約 10,000,000 行あります。
並列実行とパーティショニングを使用して、より洗練されたソリューションを実装しようとしました。この 9,000,000 の大きなグループをパーティション セットのグループに分割し、それらを 30 ~ 50 のスレッドに分散させたいと考えています。
の動的な実装が必要だと思いますPartitioner<List<List<TableEntity>>>
。StringPartitioner を使用した例など、いくつかの例がありますが、List<List<TableEntity>>
.
これらすべてがわかりにくい場合は、明確にするためにお知らせください。
問題は、動的パーティショナーを に実装する方法List<List<TableEntity>>
です。
hadoop - Hadoop パーティショナー
Hadoop パーティショナーについてお聞きしたいのですが、マッパー内に実装されていますか? デフォルトのハッシュ パーティショナーを使用してパフォーマンスを測定する方法 - データ スキューを減らすためのより良いパーティショナーはありますか?
ありがとう
xml - Springbatch動的複数xmlファイルライター
私はバッチを実行する必要があります:
DBからいくつかのデータを読み取り(各行はアイテムです、これは問題
ありません)、さらにデータを追加するプロセスを実行します(より多くのデータは常に優れています;))
次に、ここに私の問題があります。名前がアイテムのデータに依存するxmlファイルに各アイテムを書き込む。
たとえば、私は
ItemA (attr1=toto, attr2=foo, attr3=myNonKeyData...)=>goes in toto_foo.xml
ItemB (attr1=toto, attr2=foo, attr3=myNonKeyData...)=>toto_foo に入る.xml
ItemC (attr1=tata, attr2=foo...)=> tata_foo.xml に入る
...
1回のバッチ実行でこれを行う方法がわかりません。
分類子を実行するには、キーと可能な出力ファイルが多すぎます。
そのために設計されていないように見えても、パーティショナーを使用することは良い考えかもしれません。
hadoop - Hadoop の全順序パーティショナーで分割ポイントの順序が正しくないのはなぜですか?
Hadoop の全順序パーティショナーとランダム サンプラーを入力サンプラーとして使用します。
しかし、スレーブ ノードを増やしてタスクを 8 に減らすと、次のエラーが発生します。
このエラーの理由はわかりません。
関数の 3 つのパラメーターの数を設定するにはどうすればよいinputsampler.randomsampler
ですか?
java - 同じキーを持つレコードに対して異なるパーティションを選択するカスタム パーティショナーが作成された場合はどうなるでしょうか。
Hadoop MapReduce を学習しているときに、カスタム Partitioner クラスを作成する方法に出会いました。クラスで抽象 getPartition メソッドを定義する必要があることは理解しています。このメソッドは、現在のキーと値のペアのパーティション番号 (整数) を返すことになっています。
これで、パーティションの数は、ジョブの削減タスクの数と等しくなります。カスタム パーティショナーで、「キー」ではなく「値」に基づいてパーティションを選択するロジックを記述した場合はどうなるでしょうか。私の理解では、これは、同じキー (ただし値が異なる) を持つレコードが異なるリデュース タスクによって処理される可能性があることを意味する可能性があります。これは、MapReduce によって保証されているものではありません。これは異常ではありませんか?そして、なぜ getPartition(key, value, numPartitions) メソッドで 'value' 引数が必要なのですか? 間違っている場合は、私の理解を修正してください。
java - Java Hadoop での KeyFieldBasedPartitioner と二次ソートの使用 (Hadoop ストリーミングと同様)
Hadoop ストリーミングを使用する場合、パーティショナーとソーターは次のように設定および構成できます。
main()
Javaメソッドでも同じことをしたいと思います。並べ替えは次のように実行できます。
ただし、.setKeyFieldPartitionerOptions
クラスのメソッドはそうではありません:KeyFieldBasedPartitioner
static
ただし、ジョブ オブジェクトではクラスしか設定できません。
この場合、上記のオプションをどのように設定できますか? もちろん、独自のパーティショナー クラスを実装することもできますが、簡単な方法が必要な場合、なぜその努力をするのでしょうか?