Anti-jonctions
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 d'étiquettes qui leur étaient associées. Les anti-jonctions sont très utiles pour repérer les problèmes avec d'autres jonctions.
Une anti-jonction retourne les lignes de la première table pour lesquelles aucune correspondance n'est trouvée dans la seconde table. Le principe est illustré dans ce schéma.

Les anti-jonctions sont un type de jonction filtrante, puisqu'elles renvoient le contenu de la première table, mais avec des lignes filtrées selon les conditions de correspondance.
La syntaxe d'une anti-jonction ressemble beaucoup à celle d'une jonction à gauche : il suffit de remplacer left_join() par anti_join().
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Cette activité fait partie du cours
Introduction à Spark avec sparklyr en R
Instructions de l’exercice
Une connexion Spark a été créée pour vous sous le nom spark_conn. Des tibbles reliés aux métadonnées des pistes et aux termes d'artistes enregistrés dans Spark ont été prédéfinis sous les noms track_metadata_tbl et artist_terms_tbl respectivement.
- Utilisez une anti-jonction pour joindre les termes d'artistes aux métadonnées des pistes par la colonne
artist_id. Assignez le résultat àjoined. - Utilisez
sdf_dim()pour déterminer combien de lignes et de colonnes compte la table résultante.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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?
___