Big Data, kleines Tibble
In der letzten Übung hat copy_to() beim Kopieren der Daten nach Spark einen Rückgabewert geliefert. Dieser Rückgabewert ist eine besondere Art von tibble(), die selbst keine Daten enthält. Um das zu erklären, musst du ein wenig darüber wissen, wie die tidyverse-Pakete Daten speichern. Tibbles sind normalerweise nur eine Variante von data.frames mit einer schöneren Druckausgabe. dplyr erlaubt ihnen jedoch auch, Daten aus einer entfernten Datenquelle zu referenzieren, zum Beispiel aus Datenbanken oder – wie hier – aus Spark. Bei entfernten Datensätzen speichert das Tibble-Objekt einfach eine Verbindung zu den entfernten Daten. Darauf gehen wir später noch genauer ein, aber wichtig ist fürs Erste: Auch wenn du einen großen Datensatz hast, ist das Tibble-Objekt selbst klein.
Auf der Spark-Seite werden die Daten in einer Variablen namens DataFrame gespeichert. Das ist mehr oder weniger das direkte Gegenstück zum R-Variablentyp data.frame. (Die Spaltentypen sind allerdings etwas anders benannt – zum Beispiel heißen numeric-Spalten DoubleType.) Im gesamten Kurs wird der Begriff data frame verwendet, außer wenn zwischen data.frame und DataFrame unterschieden werden muss. Da diese Typen auch Datenbanktabellen ähneln, wird manchmal auch der Begriff Tabelle verwendet, um diese Art rechteckiger Daten zu beschreiben.
Ein Aufruf von tbl() mit einer Spark-Verbindung und einem String mit dem Namen des Spark-Data-Frames liefert dasselbe Tibble-Objekt zurück, das auch bei der Verwendung von copy_to() zurückgegeben wurde.
Ein nützliches Werkzeug, das du in dieser Übung siehst, ist die Funktion object_size() aus dem Paket pryr. Sie zeigt dir, wie viel Speicher ein Objekt belegt.
Diese Übung ist Teil des Kurses
Einführung in Spark mit sparklyr in R
Anleitung zur Übung
Eine Spark-Verbindung wurde als spark_conn für dich erstellt. Die Metadaten für 1.000 Tracks sind im Spark-Cluster in der Tabelle "track_metadata" gespeichert.
- Verknüpfe die Tabelle
"track_metadata"mittbl(). Weise das Ergebnistrack_metadata_tblzu. - Sieh dir mit
dim()auftrack_metadata_tblan, wie groß der Datensatz ist. - Sieh dir mit
object_size()auftrack_metadata_tblan, wie klein das Tibble ist.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Link to the track_metadata table in Spark
track_metadata_tbl <- ___(___, "___")
# See how big the dataset is
___(___)
# See how small the tibble is
___(___)