CommencerCommencer 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 d’utiliser l’ensemble complet en permanence. Surtout au début d’un projet, quand vous explorez différentes approches, vous pouvez souvent itérer plus vite sur un sous-ensemble plus petit des données. sdf_sample() offre un moyen pratique de le faire. Cette fonction prend un tibble et la fraction de lignes à retourner. Dans ce cas, vous souhaitez échantillonner sans remise. Pour obtenir un échantillon aléatoire d’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 souhaiterez probablement réutiliser le jeu de données réduit, il est courant d’utiliser compute() pour enregistrer 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 également fixer une graine aléatoire via l’argument seed. Cela garantit que vous obtenez le même jeu de données aléatoire à chaque exécution de votre code. Le numéro utilisé pour la graine n’a pas d’importance ; choisissez simplement votre entier positif favori.

Cet exercice fait partie du cours

Introduction à Spark avec sparklyr en R

Afficher le cours

Instructions

Une connexion Spark a été créée pour vous sous le nom spark_conn. Un tibble lié aux métadonnées des pistes stockées dans Spark a été prédéfini 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 une graine aléatoire.
  • Calculez le résultat et enregistrez-le dans une table nommée "sample_track_metadata".

Exercice interactif pratique

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

# 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