Anti joins
Dans l’exercice précédent, l’ensemble de données joint n’était pas aussi volumineux que prévu, car tous les artistes n’avaient pas de tags associés. Les anti joins sont très utiles pour repérer les problèmes dans d’autres opérations de jointure.
Un anti join renvoie les lignes de la première table pour lesquelles aucune correspondance n’est trouvée dans la seconde. Le principe est illustré dans ce schéma.

Les anti joins sont un type de « filtering join », car ils renvoient le contenu de la première table, mais avec des lignes filtrées en fonction des conditions de correspondance.
La syntaxe d’un anti join est globalement la même que pour un left join : remplacez simplement left_join() par anti_join().
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Cet exercice fait partie du cours
Introduction à Spark avec sparklyr en R
Instructions
Une connexion Spark a été créée pour vous sous le nom spark_conn. Des tibbles associés aux métadonnées des morceaux et aux termes d’artistes stockés dans Spark ont été pré‑définis sous les noms track_metadata_tbl et artist_terms_tbl respectivement.
- Utilisez un anti join pour joindre les termes d’artistes aux métadonnées des morceaux par la colonne
artist_id. Attribuez le résultat àjoined. - Utilisez
sdf_dim()pour déterminer le nombre de lignes et de colonnes de la table résultante.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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?
___