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

Connected

Exercice

Copier des données dans Spark

Avant de pouvoir faire du vrai travail avec Spark, vous devez d'abord y charger vos données. sparklyr offre des fonctions comme spark_read_csv() qui lisent un fichier CSV dans Spark. Plus généralement, il est utile de pouvoir copier des données de R vers Spark. Cela se fait avec la fonction copy_to() de dplyr. Attention : la copie de données est intrinsèquement lente. En fait, une grande partie des stratégies d'optimisation de performance avec de gros ensembles de données consiste à éviter de copier les données d'un endroit à un autre.

copy_to() prend deux arguments : une connexion Spark (dest) et une trame de données (df) à copier vers Spark.

Une fois vos données copiées dans Spark, vous voudrez peut-être vérifier que tout a bien fonctionné. Vous pouvez voir la liste de toutes les trames de données stockées dans Spark avec src_tbls(), qui prend simplement une connexion Spark en argument (x).

Tout au long du cours, vous explorerez les métadonnées de pistes du Million Song Dataset. Bien que Spark gère sans problème bien plus d'un million de lignes, pour garder le tout simple et réactif, vous utiliserez un sous‑ensemble de mille pistes. Pour préciser la terminologie : une piste correspond à une ligne de l'ensemble de données. Pour votre ensemble de mille pistes, c'est la même chose qu'une chanson (même si l'ensemble complet d'un million de lignes contient quelques doublons de chansons).

Instructions

100 XP

track_metadata, qui contient le nom de la chanson, le nom de l'artiste et d'autres métadonnées pour 1 000 pistes, a été prédefini dans votre espace de travail.

  • Utilisez str() pour explorer l'ensemble de données track_metadata.
  • Connectez-vous à votre grappe Spark locale et enregistrez la connexion dans spark_conn.
  • Copiez track_metadata vers la grappe Spark avec copy_to().
  • Affichez les trames de données disponibles dans Spark avec src_tbls().
  • Fermez la connexion à Spark.