Anti join-uri
În exercițiul anterior, setul de date rezultat în urma join-ului era mai mic decât te-ai fi așteptat, deoarece nu toți artiștii aveau etichete asociate. Anti join-urile sunt foarte utile pentru a identifica problemele care apar la alte tipuri de join-uri.
Un anti join returnează rândurile din primul tabel pentru care nu există o potrivire în al doilea tabel. Principiul este ilustrat în diagrama de mai jos.

Anti join-urile sunt un tip de join de filtrare, deoarece returnează conținutul primului tabel, cu rândurile filtrate în funcție de condițiile de potrivire.
Sintaxa pentru un anti join este aproape identică cu cea pentru un left join: înlocuiește pur și simplu left_join() cu anti_join().
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
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 ca spark_conn. Tibble-urile atașate metadatelor pistelor și termenilor artiștilor stocați în Spark sunt predefinite ca track_metadata_tbl, respectiv artist_terms_tbl.
- Folosește un anti join pentru a uni termenii artiștilor cu metadatele pistelor după coloana
artist_id. Atribuie rezultatul variabileijoined. - Folosește
sdf_dim()pentru a determina câte rânduri și coloane conține tabelul rezultat.
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
# Anti join artist terms to track metadata by artist_id
joined <- ___
# How many rows and columns are in the joined table?
___