Integrieren von Daten aus Azure Data Lake Storage Gen2

In diesem Artikel wird beschrieben, wie Sie Daten in einen neuen Azure Databricks-Arbeitsbereich aus Azure Data Lake Storage Gen2 integrieren. Sie erfahren, wie Sie sicher auf Quelldaten in einem Cloudobjektspeicherort zugreifen, der einem Unity Catalog-Volume (empfohlen) oder einem externen Speicherort der Unity Catalog-Instanz entspricht. Anschließend erfahren Sie, wie Sie die Daten inkrementell in eine verwaltete Tabelle der Unity Catalog-Instanz mithilfe des Autoloaders mit Delta Live Tables aufnehmen.

Hinweis

Informationen zum Onboarding von Daten in Databricks SQL anstelle in ein Notebook finden Sie unter Laden von Daten in Databricks SQL mithilfe von Streamingtabellen.

Voraussetzungen

Wenn Sie kein*e Administrator*in sind, wird in diesem Artikel davon ausgegangen, dass Ihnen ein*e Administrator*in Folgendes zur Verfügung gestellt hat:

  • Zugriff auf einen Azure Databricks-Arbeitsbereich mit aktivierter Unity Catalog-Instanz. Weitere Informationen finden Sie unter Einrichten und Verwalten von Unity Catalog.

  • Die READ FILES-Berechtigung für das externe Volume von Unity Catalog oder den externen Speicherort, der dem Cloudspeicherort entspricht, der Ihre Quelldaten enthält. Weitere Informationen finden Sie unter Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks.

  • Der Pfad zu Ihren Quelldaten.

    Volumepfadbeispiel: /Volumes/<catalog>/<schema>/<volume>/<path>/<folder>

    Beispiel für externen Speicherortpfad: abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>

  • Die Berechtigungen USE SCHEMA und CREATE TABLE für das Schema, in das Sie Daten laden möchten.

  • Berechtigung zur Clustererstellung oder Zugriff auf eine Clusterrichtlinie, die einen Delta Live Tables-Pipelinecluster definiert (das cluster_type-Feld ist auf dlt festgelegt).

    Wenn der Pfad zu Ihren Quelldaten ein Volumepfad ist, muss in Ihrem Cluster Databricks Runtime 13.3 LTS oder höher ausgeführt werden.

Wichtig

Wenn Sie Fragen zu diesen Voraussetzungen haben, wenden Sie sich an Ihre*n Kontoadministrator*in.

Schritt 1: Erstellen eines Clusters

Gehen Sie wie folgt vor, um einen Cluster zu erstellen:

  1. Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich an.
  2. Klicken Sie auf der Seitenleiste auf Neu>Cluster.
  3. Geben Sie auf der Clusterbenutzeroberfläche einen eindeutigen Namen für Ihren Cluster an.
  4. Wenn der Pfad zu Ihren Quelldaten ein Volumepfad ist, wählen Sie für die Databricks Runtime-Runtimeversion 13.2 oder höher aus.
  5. Klicken Sie auf Cluster erstellen.

Schritt 2: Erstellen eines Notebooks für die Datenuntersuchung

In diesem Abschnitt wird beschrieben, wie Sie ein Notebook zur Datenuntersuchung erstellen, damit Sie Ihre Daten verstehen können, bevor Sie die Datenpipeline erstellen.

  1. Klicken Sie auf der Seitenleiste auf +Neu>Notebook.

    Das Notebook wird automatisch an den zuletzt verwendeten Cluster angefügt (in diesem Fall an den unter Schritt 1: Erstellen eines Clusters erstellten Cluster).

  2. Geben Sie einen Namen für das Notebook an.

  3. Klicken Sie auf die Schaltfläche „Sprache“, und wählen Sie dann im Dropdownmenü Python oder SQL aus. Standardmäßig ist Python aktiviert.

  4. Um den Datenzugriff auf Ihre Quelldaten in ADLS Gen2 zu bestätigen, fügen Sie den folgenden Code in eine Notizbuchzelle ein, klicken Sie auf Ausführen – Menü und dann auf Zelle ausführen.

    SQL

    LIST '<path-to-source-data>'
    

    Python

    %fs ls '<path-to-source-data>'
    

    Ersetzen Sie <path-to-source-data> durch den Pfad zum Verzeichnis, das Ihre Daten enthält.

    Dadurch wird der Inhalt des Verzeichnisses angezeigt, das das Dataset enthält.

  5. Wenn Sie ein Beispiel der Datensätze anzeigen möchten, um den Inhalt und das Format jedes Datensatzes besser zu verstehen, fügen Sie Folgendes in eine Notebookzelle ein, klicken Sie auf Ausführen – Menü und dann auf Zelle ausführen.

    SQL

    SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
    

    Python

    spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
    

    Ersetzen Sie die folgenden Werte:

    • <file-format>: Ein unterstütztes Dateiformat. Weitere Informationen finden Sie unter Dateiformatoptionen.
    • <path to source data>: Der Pfad zu einer Datei im Verzeichnis, die Ihre Daten enthält.

    Dadurch werden die ersten zehn Datensätze aus der angegebenen Datei angezeigt.

Schritt 3: Erfassen der Rohdaten

Gehen Sie wie folgt vor, um Rohdaten zu erfassen:

  1. Klicken Sie auf der Seitenleiste auf Neu>Notebook.

    Das Notebook wird automatisch an den zuletzt verwendeten Cluster angefügt (in diesem Fall der zuvor in diesem Artikel erstellte Cluster).

  2. Geben Sie einen Namen für das Notebook an.

  3. Klicken Sie auf die Schaltfläche „Sprache“, und wählen Sie dann im Dropdownmenü Python oder SQL aus. Standardmäßig ist Python aktiviert.

  4. Fügen Sie den folgenden Code in eine Zelle des Notebooks ein:

    SQL

    CREATE OR REFRESH STREAMING TABLE
      <table-name>
    AS SELECT
      *
    FROM
      STREAM read_files(
        '<path-to-source-data>',
        format => '<file-format>'
      )
    

    Python

    @dlt.table(table_properties={'quality': 'bronze'})
    def <table-name>():
      return (
         spark.readStream.format('cloudFiles')
         .option('cloudFiles.format', '<file-format>')
         .load(f'{<path-to-source-data>}')
     )
    

    Ersetzen Sie die folgenden Werte:

    • <table-name>: Ein Name für die Tabelle, die die erfassten Datensätze enthalten soll
    • <path-to-source-data>: Der Pfad zu Ihren Quelldaten
    • <file-format>: Ein unterstütztes Dateiformat. Weitere Informationen finden Sie unter Dateiformatoptionen.

Hinweis

Delta Live Tables ist nicht dafür konzipiert, interaktiv in Zellen eines Notebooks ausgeführt zu werden. Wenn eine Zelle mit der Delta Live Tables-Syntax in einem Notebook ausgeführt wird, wird eine Meldung darüber zurückgegeben, ob die Abfrage syntaktisch gültig ist, aber keine Abfragelogik ausführt. Im folgenden Schritt wird beschrieben, wie Sie eine Pipeline aus dem soeben erstellten Erfassungsnotebook erstellen.

Schritt 4: Erstellen und Veröffentlichen einer Pipeline

Gehen Sie wie folgt vor, um eine Pipeline zu erstellen und in Unity Catalog zu veröffentlichen:

  1. Klicken Sie auf der Seitenleiste auf Workflows, anschließend auf die Registerkarte Delta Live Tables und dann auf Pipeline erstellen.
  2. Geben Sie einen Namen für Ihre Pipeline ein.
  3. Wählen Sie für den Pipelinemodus die Option Ausgelöst aus.
  4. Wählen Sie für Quellcode das Notebook aus, das Ihren Pipelinequellcode enthält.
  5. Wählen Sie für ZielUnity Catalog aus.
  6. Um sicherzustellen, dass Ihre Tabelle von Unity Catalog verwaltet wird und jede*r Benutzer*in mit Zugriff auf das übergeordnete Schema sie abfragen kann, wählen Sie ein Katalog- und ein Zielschema aus den Dropdownlisten aus.
  7. Wenn Sie nicht über die Berechtigung zum Erstellen von Clustern verfügen, wählen Sie eine Clusterrichtlinie aus, die Delta Live Tables aus der Dropdownliste unterstützt.
  8. Legen Sie für Advanced den Channel auf Preview fest.
  9. Übernehmen Sie alle anderen Standardwerte, und klicken Sie auf Erstellen.

Schritt 5: Planen der Pipeline

Gehen Sie wie folgt vor, um die Pipeline zu planen:

  1. Klicken Sie in der Randleiste auf Delta Live Tables.
  2. Klicken Sie auf den Namen der Pipeline, die Sie planen möchten.
  3. Klicken Sie auf Zeitplan>Zeitplan hinzufügen.
  4. Geben Sie für Auftragsname einen Namen für den Auftrag ein.
  5. Legen Sie den Zeitplan auf Geplant fest.
  6. Geben Sie den Zeitraum, die Startzeit und die Zeitzone an.
  7. Konfigurieren Sie eine oder mehrere E-Mail-Adressen, um Warnungen zu Pipelinestart, Erfolg oder Fehler zu erhalten.
  8. Klicken Sie auf Erstellen.

Nächste Schritte