Left join-uri
Pe lângă manipularea unui singur cadru de date, sparklyr îți permite să unești două cadre de date. O prezentare completă a modului în care se pot uni tabele cu sintaxa dplyr este disponibilă în cursul Joining Data with dplyr. În restul acestui capitol, vei vedea câteva exemple practice realizate cu Spark.
Un left join preia toate valorile din primul tabel și caută corespondențe în al doilea tabel. Dacă găsește o potrivire, adaugă datele din al doilea tabel; dacă nu, completează cu valori lipsă. Principiul este ilustrat în diagrama de mai jos.

Left join-urile fac parte din categoria mutating join-urilor, deoarece adaugă pur și simplu coloane la primul tabel. Pentru a efectua un left join cu sparklyr, apelează left_join(), transmițând două tibble-uri și un vector de caractere cu coloanele după care se face unirea.
left_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Când descrii această operațiune în cuvinte, numele tabelelor sunt inversate. Această unire s-ar exprima astfel: „another_tibble este unit prin left join la a_tibble".
Acest exercițiu introduce un nou Spark DataFrame care conține termeni ce descriu fiecare artist. Aceștia variază de la termeni generali, precum „pop", până la genuri de nișă, cum ar fi „swiss hip hop" și „mathgrindcore".
Acest exercițiu face parte din cursul
Introducere în Spark cu sparklyr în R
Instrucțiuni pentru exercițiu
O conexiune Spark a fost creată pentru tine sub numele spark_conn. Tibble-urile asociate metadatelor despre piese și termenilor despre artiști stocați în Spark sunt predefinite ca track_metadata_tbl, respectiv artist_terms_tbl.
- Folosește un left join pentru a uni termenii despre artiști cu metadatele despre piese după coloana
artist_id.- Tabelul la care se face unirea,
track_metadata_tbl, vine primul. - Tabelul care se unește la primul,
artist_terms_tbl, urmează pe locul al doilea. - Atribuie rezultatul variabilei
joined.
- Tabelul la care se face unirea,
- Folosește
sdf_dim()pentru a determina câte rânduri și coloane are tabelul rezultat în urma unirii.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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?
___