プログラムの作成中、Hadoop Mapreduce Jobsでのソートはどこで行われますか?私は自分のプログラムを前進させるのに困難を感じています。
ソートは Hadoop MapReduce によって行われます フレームワーク。マッパーは、リデューサーに渡される中間(キー、値)ペアを出力します。各レデューサーは、ソートされた順序ですべてのキーを取得します。
Hadoop MapReduce
図:
2つのマッパーが使用されているとします。
-- mapper1 output key_a, value_a1 key_b, value_b2 key_c, value_c1 key_d, value_d2 -- mapper2 output key_a, value_a2 key_b, value_b1 key_d, value_d1 key_d, value_d3
並べ替えとシャッフル(ステップは Hadoop によって行われます) フレームワーク)中間キーがソートされたキーの順序でレデューサーに渡されるようにします。
Hadoop
2つの減速機が使用されていると言います:
--- reducer1 input (sorted by keys) key_a, [value_a1, value_a2] key_d, [value_d2, value_d1, value_d3] --- reducer2 input (sorted by keys) key_b, [value_b2, value_b1] key_c, [value_c1]
レデューサーに渡されるキー間でグローバルな順序を確保する場合は、Total Order Partitionerを使用できます。この場合、各レデューサーは次のように入力を取得します。
-- reducer1 input (sorted by keys - global) key_a, [value_a1, value_a2] key_b, [value_b2, value_b1] -- reducer2 input (sorted by keys - global) key_c, [value_c1] key_d, [value_d2, value_d1, value_d3]
ソートは
Hadoop MapReduce
によって行われます フレームワーク。マッパーは、リデューサーに渡される中間(キー、値)ペアを出力します。各レデューサーは、ソートされた順序ですべてのキーを取得します。図:
2つのマッパーが使用されているとします。
並べ替えとシャッフル(ステップは
Hadoop
によって行われます) フレームワーク)中間キーがソートされたキーの順序でレデューサーに渡されるようにします。2つの減速機が使用されていると言います:
レデューサーに渡されるキー間でグローバルな順序を確保する場合は、Total Order Partitionerを使用できます。この場合、各レデューサーは次のように入力を取得します。