CommencezCommencez gratuitement

Réduire les données par échantillonnage

Lorsque vous travaillez avec un grand jeu de données, vous n'avez généralement pas besoin de tout utiliser en tout temps. Surtout au début d'un projet, quand vous explorez différentes approches, vous pouvez souvent itérer plus rapidement en travaillant sur un sous-ensemble plus petit des données. sdf_sample() offre un moyen pratique de le faire. Cette fonction reçoit une tibble et la fraction de lignes à retourner. Dans notre cas, vous voulez un échantillonnage sans remise. Pour obtenir un échantillon aléatoire correspondant à un dixième de votre jeu de données, vous utiliseriez le code suivant.

a_tibble %>%
  sdf_sample(fraction = 0.1, replacement = FALSE)

Comme les résultats de l'échantillonnage sont aléatoires et que vous voudrez probablement réutiliser le jeu de données réduit, il est courant d'utiliser compute() pour stocker les résultats comme un autre DataFrame Spark.

a_tibble %>%
  sdf_sample(<some args>) %>%
  compute("sample_dataset")

Pour rendre les résultats reproductibles, vous pouvez aussi définir une graine aléatoire au moyen de l'argument seed. Cela vous garantit d'obtenir le même jeu de données aléatoire chaque fois que vous exécutez votre code. Le nombre choisi pour la graine importe peu ; sélectionnez simplement votre entier positif préféré.

Cette activité fait partie du cours

Introduction à Spark avec sparklyr en R

Voir le cours

Instructions de l’exercice

Une connexion Spark a été créée pour vous sous le nom spark_conn. Une tibble liée aux métadonnées des pistes stockées dans Spark a été prédéfinie sous le nom track_metadata_tbl.

  • Utilisez sdf_sample() pour échantillonner 1 % des métadonnées des pistes sans remise.
    • Passez 20000229 à l'argument seed pour fixer la graine aléatoire.
  • Calculez le résultat et stockez-le dans une table nommée "sample_track_metadata".

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Sample the data without replacement
  ___ %>%
  # Compute the result
  ___
Modifier et exécuter le code