1. 学ぶ
  2. /
  3. コース
  4. /
  5. sparklyr を使った Spark 入門(R)

Connected

演習

アンチ結合

前の演習では、すべてのアーティストにタグが紐付いているわけではなかったため、結合後のデータセットが予想より小さくなりました。アンチ結合は、このような結合の問題を発見するのに非常に役立ちます。

アンチ結合は、1つ目のテーブルの行のうち、2つ目のテーブルで一致するものが見つからない行を返します。この仕組みを次の図で確認しましょう。

An anti join, explained using table of colors.

アンチ結合はフィルタリング結合の一種です。1つ目のテーブルの内容を返しつつ、一致条件に基づいて行を絞り込みます。

アンチ結合の構文は、左結合とほぼ同じです。left_join() を anti_join() に置き換えるだけです。

anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))

指示

100 XP

Spark への接続は spark_conn として作成済みです。Spark に格納されたトラックのメタデータとアーティストのタームに紐付けられた Tibble は、それぞれ track_metadata_tbl と artist_terms_tbl として事前に定義されています。

  • artist_id 列をキーとして、アーティストのタームをトラックのメタデータにアンチ結合しましょう。結果を joined に代入してください。
  • sdf_dim() を使って、結合後のテーブルの行数と列数を確認しましょう。