CommencerCommencer gratuitement

Big data, tiny tibble

Dans le dernier exercice, lorsque vous avez copié les données vers Spark, copy_to() a renvoyé une valeur. Cette valeur de retour est un type particulier de tibble() qui ne contient pas ses propres données. Pour l’expliquer, il faut connaître un peu la manière dont les packages du tidyverse stockent les données. Les tibbles sont généralement une variante des data.frame avec une méthode d’affichage plus agréable. Toutefois, dplyr leur permet aussi de représenter des données provenant d’une source distante, comme des bases de données et — comme ici — Spark. Pour les jeux de données distants, l’objet tibble stocke simplement une connexion vers les données distantes. Nous y reviendrons plus en détail plus tard, mais l’essentiel pour l’instant est que, même si le jeu de données est volumineux, la taille de l’objet tibble reste faible.

Côté Spark, les données sont stockées dans une variable appelée DataFrame. C’est plus ou moins l’équivalent direct du type de variable data.frame de R (même si les types des colonnes portent des noms légèrement différents — par exemple, les colonnes numeric sont appelées DoubleType). Tout au long du cours, le terme « data frame » sera utilisé, sauf si une clarification est nécessaire entre data.frame et DataFrame. Comme ces types sont également analogues aux tables d’une base de données, le terme « table » sera parfois utilisé pour décrire ce type de données rectangulaires.

Appeler tbl() avec une connexion Spark et une chaîne qui nomme le data frame Spark renverra le même objet tibble que celui renvoyé par copy_to().

Un outil utile que vous verrez dans cet exercice est la fonction object_size() du package pryr. Elle indique la quantité de mémoire occupée par un objet.

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. Les métadonnées de 1 000 morceaux sont stockées dans le cluster Spark dans la table "track_metadata".

  • Reliez-vous à la table "track_metadata" à l’aide de tbl(). Assignez le résultat à track_metadata_tbl.
  • Vérifiez la taille du jeu de données avec dim() sur track_metadata_tbl.
  • Constatez que le tibble est léger avec object_size() sur track_metadata_tbl.

Exercice interactif pratique

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

# Link to the track_metadata table in Spark
track_metadata_tbl <- ___(___, "___")

# See how big the dataset is
___(___)

# See how small the tibble is
___(___)
Modifier et exécuter le code