Untersuchen der Quelldaten für eine Datenpipeline
Ein gängiger erster Schritt beim Erstellen einer Datenpipeline besteht darin, Informationen zu den Quelldaten für die Pipeline zu erhalten. In diesem Schritt führen Sie Befehle der Databricks-Hilfsprogramme und PySpark-Befehle in einem Notebook aus, um die Quelldaten und Artefakte zu untersuchen.
Weitere Informationen zur explorativen Datenanalyse finden Sie unter Explorative Datenanalyse in Azure Databricks: Tools und Techniken.
Video: Einführung in Databricks-Notebooks
Eine Einführung in Databricks-Notebooks finden Sie in diesem Video:
Erstellen eines Notebooks für die Datenuntersuchung
Klicken Sie auf der Seitenleiste auf Neu, und wählen Sie im Menü die Option Notebook aus. Das Notebook wird mit einem Standardnamen geöffnet, den Sie ersetzen können.
Geben Sie einen Namen für das Notebook ein, etwa
Explore songs data
. Standardmäßig gilt:- Python ist die ausgewählte Sprache.
- Das Notebook wird an den zuletzt verwendeten Cluster angefügt. In diesem Fall ist das der Cluster, den Sie in Schritt 1: Erstellen eines Clusters erstellt haben.
Um den Inhalt des Verzeichnisses mit dem Dataset anzuzeigen, geben Sie Folgendes in die erste Zelle des Notebooks ein, klicken Sie auf , und wählen Sie Zelle ausführen aus.
%fs ls "/databricks-datasets/songs"
path name size modificationTime dbfs:/databricks-datasets/songs/README.md README.md 1719 1454620183000 dbfs:/databricks-datasets/songs/data-001/ data-001/ 0 1672791237846 dbfs:/databricks-datasets/songs/data-002/ data-002/ 0 1672791237846
Untersuchen der Daten
Die Infodatei enthält Informationen zum Dataset, u. a. eine Beschreibung des Datenschemas. Die Schemainformationen werden im nächsten Schritt beim Erfassen der Daten verwendet. Klicken Sie zum Anzeigen des Inhalts der Infodatei im Menü „Zellenaktionen“ auf , und wählen Sie Zelle unterhalb einfügen aus. Geben Sie Folgendes in die neue Zelle ein, klicken Sie auf , und wählen Sie Zelle ausführen aus.
%fs head --maxBytes=10000 "/databricks-datasets/songs/README.md"
Sample of Million Song Dataset =============================== ## Source This data is a small subset of the [Million Song Dataset](http://labrosa.ee.columbia.edu/millionsong/). The original data was contributed by The Echo Nest. Prepared by T. Bertin-Mahieux <tb2332 '@' columbia.edu> ## Attribute Information - artist_id:string - artist_latitude:double - artist_longitude:double - artist_location:string - artist_name:string - duration:double - end_of_fade_in:double - key:int - key_confidence:double - loudness:double - release:string - song_hotnes:double - song_id:string - start_of_fade_out:double - tempo:double - time_signature:double - time_signature_confidence:double - title:string - year:double - partial_sequence:int ...
Die in diesem Beispiel verwendeten Datensätze befinden sich im Verzeichnis
/databricks-datasets/songs/data-001/
. Klicken Sie zum Anzeigen des Inhalts dieses Verzeichnisses im Menü „Zellenaktionen“ auf , und wählen Sie Zelle unterhalb einfügen aus. Geben Sie Folgendes in die neue Zelle ein, klicken Sie auf , und wählen Sie Zelle ausführen aus.%fs ls "/databricks-datasets/songs/data-001"
path name size modificationTime dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000 dbfs:/databricks-datasets/songs/data-001/part-00000 part-00000 52837 1454547464000 dbfs:/databricks-datasets/songs/data-001/part-00001 part-00001 52469 1454547465000 Da die Infodatei und die Dateinamen das Dateiformat nicht angeben, können Sie ein Beispiel der Datensätze anzeigen, um den Inhalt und das Format der einzelnen Datensätze besser zu verstehen. Klicken Sie zum Lesen und Anzeigen der ersten zehn Datensätze aus einer der Datendateien im Menü „Zellenaktionen“ auf , und wählen Sie Zelle unterhalb einfügen aus. Geben Sie Folgendes in die neue Zelle ein, klicken Sie auf , und wählen Sie Zelle ausführen aus.
%fs head --maxBytes=10000 "/databricks-datasets/songs/data-001/part-00000"
AR81V6H1187FB48872 nan nan Earl Sixteen 213.7073 0.0 11 0.419 -12.106 Soldier of Jah Army nan SOVNZSZ12AB018A9B8 208.289 125.882 1 0.0 Rastaman 2003 -- ARVVZQP11E2835DBCB nan nan Wavves 133.25016 0.0 0 0.282 0.596 Wavvves 0.471578247701 SOJTQHQ12A8C143C5F 128.116 89.519 1 0.0 I Want To See You (And Go To The Movies) 2009 -- ARFG9M11187FB3BBCB nan nan Nashua USA C-Side 247.32689 0.0 9 0.612 -4.896 Santa Festival Compilation 2008 vol.1 nan SOAJSQL12AB0180501 242.196 171.278 5 1.0 Loose on the Dancefloor 0 225261 ...
Anhand einer Stichprobe der Datensätze erhalten Sie einige Informationen zu den Daten. Sie verwenden diese Informationen später bei der Datenverarbeitung:
- Die Datensätze enthalten keinen Header. Stattdessen wird der Header in einer separaten Datei im selben Verzeichnis gespeichert.
- Die Dateien scheinen im TSV-Format (Tab-Separated Values, durch Tabstopps getrennte Werte) vorzuliegen.
- Einige Felder fehlen oder sind ungültig.
- Die Datensätze enthalten keinen Header. Stattdessen wird der Header in einer separaten Datei im selben Verzeichnis gespeichert.
Um die Daten genauer zu untersuchen und zu analysieren, können Sie diese Beobachtungen verwenden, um die Songdaten im TSV-Format in einen PySpark-DataFrame zu laden. Klicken Sie dazu im Menü „Zellenaktionen“ auf , und wählen Sie Zelle unterhalb einfügen aus. Geben Sie den folgenden Code in die neue Zelle ein, und klicken Sie auf >Zelle ausführen.
df = spark.read.format('csv').option("sep", "\t").load('dbfs:/databricks-datasets/songs/data-001/part-00000') df.display()
Da der Datendatei ein Header fehlt, werden die Spaltennamen als
_c0
,_c1
usw. angezeigt. Jede Spalte wird unabhängig vom tatsächlichen Datentyp alsstring
interpretiert. Die Erfassung der Rohdaten im nächsten Schritt zeigt ein Beispiel dafür, wie Sie beim Laden der Daten ein gültiges Schema festlegen können.