Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie den COPY INTO Befehl verwenden, um Daten aus einem Azure Data Lake Storage (ADLS)-Container in Ihrem Azure-Konto in eine Tabelle in Databricks SQL zu laden.
Bei den Schritten in diesem Artikel wird davon ausgegangen, dass Ihr Administrator ein SQL Warehouse für die Verwendung eines Azure Databricks-Dienstprinzipals konfiguriert hat, damit Sie auf Ihre Quelldateien in ADLS zugreifen können. Wenn Ihr Administrator einen externen Unity-Katalogspeicherort mit Speicheranmeldeinformationen konfiguriert hat, lesen Sie stattdessen das Laden von Daten mit COPY INTO Unity-Katalogvolumes oder externen Speicherorten . Wenn Ihr Administrator Ihnen temporäre Anmeldeinformationen (ein Blob SAS-Token) erteilt hat, führen Sie stattdessen die Schritte in Laden von Daten mithilfe von COPY INTO mit temporären Anmeldeinformationen aus.
Databricks empfiehlt, den COPY INTO Befehl für inkrementelles und Massendatenbeladung mit Databricks SQL zu verwenden.
Hinweis
COPY INTO funktioniert gut bei Datenquellen, die Tausende von Dateien enthalten. Databricks empfiehlt, dass Sie den Autoloader zum Laden von Millionen von Dateien verwenden, was in Databricks SQL nicht unterstützt wird.
Voraussetzungen
Stellen Sie vor dem Laden von Daten in Azure Databricks sicher, dass Sie über Folgendes verfügen:
- Zugriff auf Daten in ADLS. Ihr Administrator muss zunächst die Schritte unter Konfigurieren des Datenzugriffs für die Erfassung ausführen, damit Ihr Databricks SQL-Warehouse Ihre Quelldateien lesen kann.
- Ein Databricks SQL-Warehouse
- Die Berechtigung CAN MANAGE (KANN VERWALTEN) im SQL-Warehouse.
- Der Pfad zu Ihren Daten in einem ADLS-Container.
- Kenntnisse der Benutzeroberfläche des Databricks SQL-Arbeitsbereichs
Schritt 1: Bestätigen des Zugriffs auf Daten im Cloudspeicher
Gehen Sie wie folgt vor, um zu bestätigen, dass Sie Zugriff auf die richtigen Daten im Cloudobjektspeicher haben:
Klicken Sie auf der Randleiste auf Notebook > erstellen.
Wählen Sie in der Menüleiste des SQL-Editors ein SQL Warehouse aus.
Fügen Sie folgenden Code in den SQL-Editor ein:
select * from csv.<path>Ersetzen Sie
<path>mit dem ADLS-Containerpfad, den Sie von Ihrem Administrator erhalten haben. Zum Beispiel:abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>.Klicken Sie auf Ausführen.
Schritt 2: Erstellen einer Tabelle
In diesem Schritt wird beschrieben, wie Sie eine Tabelle in Ihrem Azure Databricks-Arbeitsbereich erstellen, um die eingehenden Daten zu speichern.
Fügen Sie folgenden Code in den SQL-Editor ein:
CREATE TABLE <catalog_name>.<schema_name>.<table_name> ( tpep_pickup_datetime TIMESTAMP, tpep_dropoff_datetime TIMESTAMP, trip_distance DOUBLE, fare_amount DOUBLE, pickup_zip INT, dropoff_zip INT );Klicken Sie auf Ausführen.
Schritt 3: Laden von Daten aus dem Cloudspeicher in die Tabelle
In diesem Schritt wird beschrieben, wie Daten aus einem ADLS-Container in die Tabelle in Ihrem Azure Databricks-Arbeitsbereich geladen werden.
Klicken Sie auf der Randleiste auf Notebook > erstellen.
Wählen Sie in der Menüleiste des SQL-Editors ein SQL-Lagerhaus aus, und stellen Sie sicher, dass das SQL-Lager ausgeführt wird.
Fügen Sie folgenden Code in den SQL-Editor ein. Ersetzen Sie in diesem Code:
-
<container>mit dem Namen Ihres ADLS-Containers innerhalb Ihres Speicherkontos. -
<storage-account>mit dem Namen Ihres ADLS-Speicherkontos. -
<folder>durch den Namen des Ordners, der Ihre Daten enthält. -
<blob-sas-token>durch den Wert des Blob-SAS-Tokens, das Sie von Ihrem Administrator erhalten haben.
COPY INTO <catalog-name>.<schema-name>.<table-name> FROM 'abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>' FILEFORMAT = CSV FORMAT_OPTIONS ( 'header' = 'true', 'inferSchema' = 'true' ); SELECT * FROM <catalog-name>.<schema-name>.<table-name>;Hinweis
FORMAT_OPTIONSunterscheidet sich vonFILEFORMAT. In diesem Fall weist dieheader-Option Azure Databricks an, die erste Zeile der CSV-Datei als Header zu behandeln, und dieinferSchema-Optionen weisen Azure Databricks an, den Datentyp jedes Felds in der CSV-Datei automatisch zu bestimmen.-
Klicken Sie auf Ausführen.
Hinweis
Wenn Sie erneut auf Ausführen klicken, werden keine neuen Daten in die Tabelle geladen. Dies liegt daran, dass der
COPY INTO-Befehl nur verarbeitet, was es als neue Daten betrachtet.
Bereinigen
Sie können die zugehörigen Ressourcen in Ihrem Arbeitsbereich bereinigen, falls Sie sie nicht behalten möchten.
Löschen der Tabellen
Klicken Sie auf der Randleiste auf Notebook > erstellen.
Wählen Sie ein SQL-Warehouse aus, und stellen Sie sicher, dass das SQL-Warehouse ausgeführt wird.
Fügen Sie folgenden Code ein:
DROP TABLE <catalog-name>.<schema-name>.<table-name>;Klicken Sie auf Ausführen.
Zeigen Sie auf die Registerkarte der Abfrage, und klicken Sie dann auf das Symbol X.
Löschen der Abfragen im SQL-Editor
- Klicken Sie in der Seitenleiste auf SQL-Editor.
- Zeigen Sie in der Menüleiste des SQL-Editors auf die Registerkarte für jede Abfrage, die Sie für dieses Lernprogramm erstellt haben, und klicken Sie dann auf das X-Symbol .
Zusätzliche Ressourcen
- Der COPY INTO Referenzartikel