Die Struktur von Tibbles erkunden
Wenn du versuchst, ein Tibble auszugeben, das Daten in Spark beschreibt, muss etwas Magie passieren, denn das Tibble hält selbst keine Kopie der Daten. Die Magie besteht darin, dass die Print-Methode deine Spark-Verbindung nutzt, einen Teil der Inhalte zurück nach R kopiert und diese Werte so anzeigt, als wären die Daten lokal gespeichert. Wie du früher im Kapitel gesehen hast, ist das Kopieren von Daten eine langsame Operation. Daher werden standardmäßig nur 10 Zeilen und so viele Spalten, wie auf den Bildschirm passen, ausgegeben.
Du kannst die Anzahl der ausgegebenen Zeilen mit dem Argument n von print() ändern. Außerdem kannst du die Breite der anzuzeigenden Inhalte mit dem Argument width steuern; sie wird als Anzahl der Zeichen angegeben (nicht als Anzahl der Spalten). Ein praktischer Trick ist width = Inf, um alle Spalten auszugeben.
Die Funktion str() wird typischerweise verwendet, um die Struktur einer Variablen anzuzeigen. Für data.frames liefert sie eine schöne Zusammenfassung mit Typ und den ersten Werten jeder Spalte. Für Tibbles mit einer entfernten Datenquelle weiß str() jedoch nicht, wie die Daten abgerufen werden. Das bedeutet: Wenn du str() auf ein Tibble anwendest, das Daten in Spark enthält, siehst du eine Liste mit einem Spark-Verbindungsobjekt und einigen anderen Bestandteilen.
Wenn du eine Zusammenfassung dessen sehen möchtest, was jede Spalte in dem Datensatz enthält, auf den sich das Tibble bezieht, musst du stattdessen glimpse() aufrufen. Beachte, dass bei entfernten Daten, wie Datensätzen, die in einem Spark-Cluster gespeichert sind, die Anzahl der Zeilen nicht stimmt! In diesem Fall gelingt es glimpse() nicht, die Anzahl der Zeilen korrekt zu melden.
Diese Übung ist Teil des Kurses
Einführung in Spark mit sparklyr in R
Anleitung zur Übung
Eine Spark-Verbindung wurde für dich als spark_conn erstellt. Ein Tibble, das mit den in Spark gespeicherten Track-Metadaten verknüpft ist, wurde als track_metadata_tbl vordefiniert.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Print 5 rows, all columns
___
# Examine structure of tibble
___
# Examine structure of data
___