CommencerCommencer gratuitement

Copier des données dans Spark

Avant de pouvoir vraiment travailler avec Spark, vous devez y charger vos données. sparklyr propose des fonctions comme spark_read_csv() pour lire 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 : copier des données est fondamentalement lent. En fait, une grande partie de l’optimisation des performances avec de gros jeux de données consiste à éviter autant que possible de déplacer les données d’un emplacement à un autre.

copy_to() prend deux arguments : une connexion Spark (dest) et un data frame (df) à copier vers Spark.

Une fois vos données copiées dans Spark, vous voudrez sans doute vérifier que tout s’est bien passé. Vous pouvez lister tous les data frames stockés dans Spark avec src_tbls(), qui prend simplement une connexion Spark (x).

Tout au long du cours, vous explorerez les métadonnées de pistes du Million Song Dataset. Même si Spark gère sans problème bien plus d’un million de lignes, pour rester simple et réactif, vous utiliserez un sous-ensemble de mille pistes. Précisons la terminologie : une piste correspond à une ligne du jeu de données. Pour votre jeu de mille pistes, cela revient à une chanson (même si le jeu complet d’un million de lignes contenait quelques doublons).

Cet exercice fait partie du cours

Introduction à Spark avec sparklyr en R

Afficher le cours

Instructions

track_metadata, qui contient le nom du morceau, 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 le jeu de données track_metadata.
  • Connectez-vous à votre cluster Spark local et stockez la connexion dans spark_conn.
  • Copiez track_metadata vers le cluster Spark avec copy_to().
  • Affichez les data frames disponibles dans Spark avec src_tbls().
  • Déconnectez-vous de Spark.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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(___)
Modifier et exécuter le code