1. Apprendre
  2. /
  3. Cours
  4. /
  5. Introduction à Spark avec sparklyr en R

Connected

Exercice

Jointures semi

Les jointures semi sont l'opposé des anti-jointures : une « anti anti jointure », si vous préférez.

Une jointure semi retourne les lignes de la première table pour lesquelles une correspondance peut être trouvée dans la seconde. Le principe est illustré dans ce schéma.

A semi join, explained using table of colors.

La syntaxe est la même que pour les autres types de jointures; il suffit d'utiliser la fonction semi_join() à la place.

semi_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))

Vous avez peut-être remarqué que les résultats d'une jointure semi additionnés à ceux d'une anti-jointure redonnent la table d'origine. Ainsi, peu importe le contenu des tables ou la façon de les joindre, semi_join(A, B) plus anti_join(A, B) renverra A (peut-être avec les lignes dans un ordre différent).

Instructions

100 XP

Une connexion Spark a été créée pour vous sous le nom spark_conn. Des tibbles rattachés aux métadonnées des pistes et aux termes d'artistes stockés dans Spark ont été préalablement définis sous track_metadata_tbl et artist_terms_tbl respectivement.

  • Utilisez une jointure semi pour relier 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 comporte la table jointe.