Map Side Join Vs. Join の技術調査

Map Side Join Vs. Join 調査結果

最近、テーブルをJoinして情報を引っ張ってくることが多くなり、
ところどころで、Map Side Joinを使用したほうが効率がいいよとか
基本的に、Map Side Joinを使用してくれなど言われたので、なぜ
Map Side Joinがいいのかを調査してみました。Map Side Join って
何って段階でしたけど、調査するといろいろとわかってきました。


 

・前提知識

Map Side Join とは、二つのテーブルのうち
一つのテーブルをメモリ上にもち、もうひとつの
テーブルの情報を回しながら、メモリの情報を参照し、
情報を結合していく方式です。

Join とは、二つのテーブル情報を共通するKeyで
結合する方式です。


 

・Map Side Joinってどのように最適化するの?

 二つのテーブルのうち、一つが小さいテーブルとする。
 小さいテーブルをメモリ上のHashテーブルにもつ。
 ディスク上にCaheとして持つとよい。
 



Map Side Join のメリット

Mapper処理のみなので、ShuffleとReducerがないので、最小限のリソースの使用、
処理が高速になります。


 

Map Side Join のデメリット

 Map Side Join は、一つのテーブルは、小さいテーブルにする必要があります。
 両方とも大きな情報をもつテーブルには、適していないです。おおきなテーブルだと
 メモリ上に情報を持てないので。。。



まとめ

片方のテーブルが、小さい場合には、Map Side Joinを使用することにより、タスクの
最適化や処理速度の向上が期待されるため、Map Side Joinを使用するほうがよいことが
わかりました。

管理者オススメのアプリ

簡単に日々のスケジュールを管理できる無料のphoneアプリです。
スケジュール、シフト管理、TODO,お小遣い管理、メモなどいろいろ使用できるアプリ。
メニューの並び替えも自由!


すごい手帳を使ってみる

アクセス数: 無料カウンター




トラックバック(0)

トラックバックURL: http://smartwolf.sakura.ne.jp/Blog/mt-tb.cgi/220

コメントする

ウェブページ

Powered by Movable Type 5.2.7