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

Connected

Exercice

Filtrer des lignes

En plus de choisir des colonnes, l'autre façon d'extraire les éléments importants de votre jeu de données consiste à filtrer les lignes. On y arrive avec la fonction filter(). Pour utiliser filter(), vous lui passez un tibble et des conditions logiques. Par exemple, pour ne retourner que les lignes où les valeurs de la colonne x sont supérieures à zéro et où les valeurs de y sont égales à celles de z, vous utiliseriez ce qui suit.

a_tibble %>%
  filter(x > 0, y == z)

Avant d'essayer l'exercice, prenez note de deux mises en garde. Premièrement, ne confondez pas la fonction filter() de dplyr avec la fonction filter() du paquet stats. Deuxièmement, sparklyr convertit votre code dplyr en code SQL avant de l'envoyer à Spark. Cela veut dire qu'un nombre limité d'opérations de filtrage est actuellement pris en charge. Par exemple, vous ne pouvez pas filtrer des chaînes de caractères avec des expressions régulières au moyen d'un code comme

a_tibble %>%
  filter(grepl("a regex", x))

La page d'aide de translate_sql() décrit les fonctionnalités offertes. Vous pouvez utiliser des opérateurs de comparaison comme >, != et %in%; des opérateurs arithmétiques comme +, ^ et %%; ainsi que des opérateurs logiques comme &, | et !. Plusieurs fonctions mathématiques telles que log(), abs(), round() et sin() sont aussi prises en charge.

Comme auparavant, l'indexation par crochets n'est pas prise en charge pour le moment.

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.

  • Comme dans l'exercice précédent, sélectionnez artist_name, release, title et year avec select().
  • Faites passer le résultat à filter() pour obtenir les pistes des années 1960.