Asakusa Framework Advent Calendar 2019の13日目、SQLをAsakusaFWに変換するポイントについてです。
SELECT文のFROM句におけるテーブル結合は、基本的にCoGroup演算子で良いと書きました。
その理由は、SQLの結合では複数レコード出力される可能性があるからです。
が、逆に言うと、1レコードしか出力しないケース、例えば結合先(マスター側)のプライマリキーやユニークキーで結合する場合は、MasterJoinUpdate演算子(あるいはMasterJoin演算子)を使うことが出来ます。
AsakusaFW(特にAsakusa on Spark)では、MasterJoin系演算子はマスター側のデータ量に応じて効率の良い方式で実装されるので、CoGroupよりMasterJoin系演算子を使いたいものです。
(と言いつつも、CoGroupで統一した方が楽だし分かりやすいとも思うのですが^^;)