アンチ結合
前の演習では、すべてのアーティストにタグが紐付いているわけではなかったため、結合後のデータセットが予想より小さくなりました。アンチ結合は、このような結合の問題を発見するのに非常に役立ちます。
アンチ結合は、1つ目のテーブルの行のうち、2つ目のテーブルで一致するものが見つからない行を返します。この仕組みを次の図で確認しましょう。

アンチ結合はフィルタリング結合の一種です。1つ目のテーブルの内容を返しつつ、一致条件に基づいて行を絞り込みます。
アンチ結合の構文は、左結合とほぼ同じです。left_join() を anti_join() に置き換えるだけです。
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
この演習はコースの一部です
sparklyr を使った Spark 入門(R)
演習の手順
Spark への接続は spark_conn として作成済みです。Spark に格納されたトラックのメタデータとアーティストのタームに紐付けられた Tibble は、それぞれ track_metadata_tbl と artist_terms_tbl として事前に定義されています。
artist_id列をキーとして、アーティストのタームをトラックのメタデータにアンチ結合しましょう。結果をjoinedに代入してください。sdf_dim()を使って、結合後のテーブルの行数と列数を確認しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# track_metadata_tbl and artist_terms_tbl have been pre-defined
track_metadata_tbl
artist_terms_tbl
# Anti join artist terms to track metadata by artist_id
joined <- ___
# How many rows and columns are in the joined table?
___