Stora data, liten tibble
I förra övningen, när du kopierade data till Spark, returnerade copy_to() ett värde. Detta returvärde är en särskild typ av tibble() som inte innehåller någon egen data. För att förstå varför behöver du känna till lite om hur tidyverse-paket lagrar data. Tibbles är vanligtvis bara en variant av data.frame med en snyggare utskriftsmetod. Men dplyr tillåter dem också att lagra data från en fjärransluten datakälla, till exempel databaser och – som i det här fallet – Spark. För fjärrdatamängder lagrar tibble-objektet helt enkelt en anslutning till fjärrdata. Detta behandlas mer ingående senare, men det viktiga för nu är att även om du har en stor datamängd är själva tibble-objektet litet.
På Spark-sidan lagras data i en variabel kallad DataFrame. Detta är en mer eller mindre direkt motsvarighet till R:s variabeltyp data.frame. (Kolumnernas variabeltyper har dock något olika namn – till exempel kallas numeric-kolumner för DoubleType-kolumner.) I hela kursen används termen data frame, om det inte behöver förtydligas om det rör sig om data.frame eller DataFrame. Eftersom dessa typer också liknar databastabeller används ibland termen tabell för att beskriva denna typ av rektangulär data.
Att anropa tbl() med en Spark-anslutning och en sträng som anger Spark-dataramen returnerar samma tibble-objekt som returnerades när du använde copy_to().
Ett användbart verktyg som du ser i den här övningen är funktionen object_size() från paketet pryr. Den visar hur mycket minne ett objekt tar upp.
Den här övningen är en del av kursen
Introduktion till Spark med sparklyr i R
Övningsinstruktioner
En Spark-anslutning har skapats åt dig som spark_conn. Metadata för 1 000 spår lagras i Spark-klustret i tabellen "track_metadata".
- Länka till tabellen
"track_metadata"medtbl(). Tilldela resultatet tilltrack_metadata_tbl. - Kontrollera hur stor datamängden är med hjälp av
dim()påtrack_metadata_tbl. - Kontrollera hur litet tibble-objektet är med hjälp av
object_size()påtrack_metadata_tbl.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Link to the track_metadata table in Spark
track_metadata_tbl <- ___(___, "___")
# See how big the dataset is
___(___)
# See how small the tibble is
___(___)