ÎncepețiÎncepe gratuit

Date masive, tibble minuscul

În exercițiul anterior, când ai copiat datele în Spark, copy_to() a returnat o valoare. Această valoare este un tip special de tibble() care nu conține date proprii. Pentru a înțelege de ce, trebuie să știi puțin despre modul în care pachetele tidyverse stochează datele. Tibble-urile sunt, de obicei, o variantă a data.frame-urilor, cu o metodă de afișare mai elegantă. Totuși, dplyr le permite și să stocheze date dintr-o sursă externă, cum ar fi baze de date sau – ca în cazul de față – Spark. Pentru seturile de date externe, obiectul tibble stochează pur și simplu o conexiune la sursa respectivă. Vom discuta mai detaliat despre asta mai târziu, dar ideea esențială acum este că, deși lucrezi cu un set de date voluminos, obiectul tibble în sine este mic.

Pe partea Spark, datele sunt stocate într-o variabilă numită DataFrame. Aceasta este echivalentul direct al tipului data.frame din R. (Deși tipurile de coloane sunt denumite puțin diferit – de exemplu, coloanele numeric se numesc coloane DoubleType.) Pe parcursul cursului, vom folosi termenul data frame, cu excepția cazurilor în care este necesară o distincție clară între data.frame și DataFrame. Deoarece aceste tipuri sunt analogice și cu tabelele din baze de date, uneori vom folosi termenul tabel pentru a descrie acest tip de date rectangulare.

Apelând tbl() cu o conexiune Spark și un șir de caractere care indică numele data frame-ului Spark, vei obține același obiect tibble returnat anterior de copy_to().

Un instrument util pe care îl vei întâlni în acest exercițiu este funcția object_size() din pachetul pryr. Aceasta îți arată cât spațiu de memorie ocupă un obiect.

Acest exercițiu face parte din cursul

Introducere în Spark cu sparklyr în R

Vezi cursul

Instrucțiuni pentru exercițiu

O conexiune Spark a fost creată pentru tine ca spark_conn. Metadatele pentru 1.000 de piese muzicale sunt stocate în clusterul Spark în tabelul "track_metadata".

  • Creează o legătură cu tabelul "track_metadata" folosind tbl(). Atribuie rezultatul variabilei track_metadata_tbl.
  • Verifică dimensiunea setului de date folosind dim() pe track_metadata_tbl.
  • Verifică cât de mic este tibble-ul folosind object_size() pe track_metadata_tbl.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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

# See how big the dataset is
___(___)

# See how small the tibble is
___(___)
Editează și rulează codul