Left join
Selain memanipulasi satu data frame, sparklyr memungkinkan Anda menggabungkan dua data frame. Pembahasan lengkap tentang cara melakukan join tabel menggunakan sintaks dplyr tersedia di kursus Joining Data with dplyr. Sepanjang sisa bab ini, Anda akan melihat beberapa contoh cara melakukannya di Spark.
Left join mengambil semua nilai dari tabel pertama, lalu mencari kecocokan di tabel kedua. Jika ditemukan kecocokan, data dari tabel kedua ditambahkan; jika tidak, nilai hilang akan ditambahkan. Prinsipnya ditunjukkan pada diagram berikut.

Left join termasuk jenis mutating join, karena hanya menambahkan kolom ke tabel pertama. Untuk melakukan left join dengan sparklyr, panggil left_join(), berikan dua tibble dan sebuah vektor karakter berisi kolom-kolom yang menjadi kunci join.
left_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Saat Anda menjelaskannya dengan kata-kata, nama tabelnya dibalik. Join ini akan dituliskan sebagai "another_tibble di-left join ke a_tibble".
Latihan ini memperkenalkan Spark DataFrame lain yang berisi istilah-istilah untuk mendeskripsikan setiap artis. Istilahnya berkisar dari yang sangat umum, seperti "pop", hingga genre yang lebih khusus seperti "swiss hip hop" dan "mathgrindcore".
Latihan ini merupakan bagian dari kursus
Pengantar Spark dengan sparklyr di R
Instruksi latihan
Koneksi Spark telah dibuat untuk Anda sebagai spark_conn. Tibble yang terhubung ke metadata trek dan istilah artis yang tersimpan di Spark telah didefinisikan sebelumnya sebagai track_metadata_tbl dan artist_terms_tbl.
- Gunakan left join untuk menggabungkan istilah artis ke metadata trek berdasarkan kolom
artist_id.- Tabel yang menjadi tujuan penggabungan,
track_metadata_tbl, diletakkan pertama. - Tabel yang digabungkan ke yang pertama,
artist_terms_tbl, diletakkan berikutnya. - Simpan hasilnya ke
joined.
- Tabel yang menjadi tujuan penggabungan,
- Gunakan
sdf_dim()untuk mengetahui berapa banyak baris dan kolom pada tabel hasil join.
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
# Left join artist terms to track metadata by artist_id
joined <- ___(___, ___, by = ___)
# How many rows and columns are in the joined table?
___