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

Connected

Exercice

Gens ordinaires

La fonction distinct() vous a montré les valeurs uniques. Il peut aussi être utile de savoir combien vous avez de chaque valeur. La fonction de base R pour cela est table(); elle n'est pas prise en charge dans sparklyr puisqu'elle ne s'inscrit pas dans la philosophie du tidyverse de tout conserver dans des tibbles. À la place, vous devez utiliser count(). Pour l'utiliser, passez les noms non cités des colonnes. Par exemple, pour obtenir les comptes des combinaisons distinctes des colonnes x, y et z, vous taperiez ce qui suit.

a_tibble %>%
  count(x, y, z)

Le résultat est le même que

a_tibble %>%
  distinct(x, y, z)

… sauf que vous obtenez une colonne supplémentaire, n, qui contient les comptes.

Une utilisation très pratique de count() est d'obtenir les valeurs les plus fréquentes. Pour ce faire, appelez count() avec l'argument sort = TRUE, qui trie les lignes par ordre décroissant de la colonne n, puis utilisez slice_max() pour limiter les résultats aux premières valeurs, selon le nombre voulu. (slice_max() est semblable à head() de base R, mais fonctionne avec des jeux de données distants comme ceux de Spark.) Par exemple, pour obtenir les 20 combinaisons les plus fréquentes des colonnes x, y et z, utilisez ce qui suit.

a_tibble %>%
  count(x, y, z, sort = TRUE) %>%
  slice_max(20)

Instructions

100 XP

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.

  • Comptez les valeurs de la colonne artist_name à partir de track_metadata_tbl.
    • Passez sort = TRUE pour trier les lignes par popularité décroissante.
  • Limitez les résultats aux 20 premiers à l'aide de slice_max().