A が B に参加しA.a=B.a
、両方とも大きなテーブルであるとします。Hive は、共通結合を介してこの結合操作を処理します。実行グラフ(Facebook提供):
しかし、私はこのグラフに混乱しています。レデューサーだけですか?
私の理解では、マップ出力キーはtable_name_tag_prefix+join_key
. ただし、分割フェーズでは、引き続き join_key を使用してレコードを分割します。reduce フェーズでは、各 reducer<join_key,value>
は同じ結合キーを持つものを読み取ります。reducer はすべてのマップ分割を読み取る必要はありません。