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).
Cette activité fait partie du cours
Introduction à Spark avec sparklyr en R
Instructions de l’exercice
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éestrack_metadata. - Connectez-vous à votre grappe Spark locale et enregistrez la connexion dans
spark_conn. - Copiez
track_metadatavers la grappe Spark aveccopy_to(). - Affichez les trames de données disponibles dans Spark avec
src_tbls(). - Fermez la connexion à Spark.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Load dplyr
___
# Explore track_metadata structure
___
# Connect to your Spark cluster
spark_conn <- spark_connect("___")
# Copy track_metadata to Spark
track_metadata_tbl <- ___(___, ___, overwrite = TRUE)
# List the data frames available in Spark
___(___)
# Disconnect from Spark
spark_disconnect(___)