1. Learn
  2. /
  3. Courses
  4. /
  5. Introduction à Spark avec sparklyr en R

Connected

Exercise

Jointures à gauche

En plus de manipuler des data frames individuels, sparklyr vous permet d'en joindre deux ensemble. Une présentation complète des jointures avec la syntaxe dplyr est offerte dans le cours Joining Data with dplyr. Pour le reste de ce chapitre, vous verrez quelques exemples de la marche à suivre avec Spark.

Une jointure à gauche prend toutes les valeurs de la première table et cherche des correspondances dans la deuxième. Si une correspondance est trouvée, elle ajoute les données de la deuxième table; sinon, elle ajoute des valeurs manquantes. Le principe est illustré dans ce schéma.

A left join, explained using table of colors.

Les jointures à gauche sont un type de mutating join, puisqu'elles ajoutent simplement des colonnes à la première table. Pour effectuer une jointure à gauche avec sparklyr, appelez left_join(), en passant deux tibbles et un vecteur de caractères indiquant les colonnes sur lesquelles faire la jointure.

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

Lorsque vous décrivez cette jointure en mots, l'ordre des noms de tables est inversé. On écrirait cette jointure comme suit : « another_tibble est joint à gauche à a_tibble ».

Cet exercice introduit un autre DataFrame Spark contenant des termes qui décrivent chaque artiste. Ceux‑ci vont de termes assez généraux, comme « pop », à des genres plus pointus comme « swiss hip hop » et « mathgrindcore ».

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 des artistes stockés dans Spark ont été prédéfinis, respectivement track_metadata_tbl et artist_terms_tbl.

  • Utilisez une jointure à gauche pour joindre les termes des artistes aux métadonnées des pistes par la colonne artist_id.
    • La table à laquelle on joint, track_metadata_tbl, vient en premier.
    • La table qui se joint à la première, artist_terms_tbl, vient ensuite.
    • Assignez le résultat à joined.
  • Utilisez sdf_dim() pour déterminer combien de lignes et de colonnes contient la table obtenue.