Mulai sekarangMulai gratis

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.

A left join, explained using table of colors.

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

Lihat Kursus

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.
  • 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?
___
Edit dan Jalankan Kode