Mulai sekarangMulai gratis

Semi join

Semi join adalah kebalikan dari anti join: bisa dibilang "anti anti join".

Sebuah semi join mengembalikan baris dari tabel pertama di mana ia dapat menemukan pasangan yang cocok di tabel kedua. Prinsipnya ditunjukkan pada diagram berikut.

A semi join, explained using table of colors.

Sintaksnya sama seperti tipe join lainnya; cukup ganti fungsi join tersebut dengan semi_join()

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

Anda mungkin menyadari bahwa hasil semi join ditambah hasil anti join akan menghasilkan tabel asli. Jadi, terlepas dari isi tabel atau cara Anda menggabungkannya, semi_join(A, B) ditambah anti_join(A, B) akan mengembalikan A (meskipun urutan barisnya bisa berbeda).

Latihan ini merupakan bagian dari kursus

Pengantar Spark dengan sparklyr di R

Lihat Kursus

Instruksi latihan

Sambungan Spark telah dibuat untuk Anda sebagai spark_conn. Tibble yang terhubung ke metadata trek dan istilah artis yang disimpan di Spark telah didefinisikan sebelumnya masing-masing sebagai track_metadata_tbl dan artist_terms_tbl.

  • Gunakan semi join untuk menggabungkan istilah artis dengan metadata trek berdasarkan kolom artist_id. Simpan hasilnya ke joined.
  • Gunakan sdf_dim() untuk menentukan berapa banyak baris dan kolom pada tabel hasil gabungan.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# track_metadata_tbl and artist_terms_tbl have been pre-defined
track_metadata_tbl
artist_terms_tbl

# Semi join artist terms to track metadata by artist_id
joined <- ___

# How many rows and columns are in the joined table?
___
Edit dan Jalankan Kode