問題つ以上のキー
に地図-減らす我々はレコードを持って、私ここで、i = 0、...、N R を言います。 nは大きくてもよい(数十億で)。
すべてのレコードは、いくつかのキーk ij(j = 0、...、m)を持っています。 mが小さい(20言う)
我々は言う、R P = R Q、もしK P0 = K Q0、K P1 = K Q1、...、又は少なくとも一つのその鍵が等しい場合、K PM = K QMある
は、レコードは、同じです。そのようなレコードセットを見つけ、それらのセットに固有のIDを生成する必要があります。
アプローチ
実行メートルの各ジョブが一つのキーに減少したジョブを、マップ減らします。
したがって、ジョブのI、マッパ発する(R Pは、 IをK)と減速は、({R 、...、R P}、K iは)
を取得すべてのm個のジョブの最後に、等しいキーを持つレコードのセットがあります。
我々未満でk Nまだ数百万にすることができ、Lは少数であることを期待S K = {R リットル}
(5000から2の間と言う)
最終結果を得るには、少なくとも1つのメンバーが共通する上記のセットをマージする必要があります。
I以下の質問があります。
- どのように効率的にこれらのセットをマージするの?
- また、この問題を解決する他の方法はありますか?
ハッシングについてはどうですか?Key1-10? –
ところで、私はマルチステップ・マップ・リダクションを実行しても機能しないことに気付きました。 @Aush @ k1-10をハッシュするとどういう意味ですか? 1つの「スーパーキー」がありますか?それはどちらもうまくいかない。スーパーキーの平等は、どちらかのキーの平等を意味しません。 –
私はより明確にするために私の質問を編集しました。 –