1

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

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

key  num_of_records
k1 20
k2 15
k3 2
k4 3
k5 5

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

part1: k1 k3 k4 (total records: 25)
part2: k2 k5 (total records 20)

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

part1: k1 k4 (total records 23)
part2: k2 k3 k5 (total revords 22)

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

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

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

ありがとう。

4

2 に答える 2

1

これには、 Java のデフォルトのhashCode()メソッドで問題ありません。明らかに、サンプル サイズが 45 の場合、数の違いが得られる可能性がありますが、大きなデータ スケールでは関係がなく、均等に分布する傾向があります。

于 2015-02-08T09:39:37.990 に答える