Verwalten von Dateien in Volumes
Dieser Artikel enthält Beispiele zum Verwalten von Dateien in Unity Catalog Volumen für verschiedene Benutzeroberflächen, Tools, Bibliotheken und Sprachen.
Databricks empfiehlt die Verwendung von Volumes zum Verwalten aller Zugriffe auf nicht tabellarische Daten im Cloudobjektspeicher. Beispiele für nicht tabellarische Daten sind:
- Datendateien für die Aufnahme wie CSV, JSON und Parquet.
- Text-, Bild- und Audiodateien für Data Science-, ML- und KI-Workloads.
- CSV- oder JSON-Artefakte, die von Azure Databricks für die Integration in externe Systeme geschrieben wurden.
Sie können Volumes zum Speichern von Dateien wie Bibliotheken, Init Skripts und Erstellen von Artefakten verwenden. Siehe Empfehlungen für Dateien in Volumes und Arbeitsbereichsdateien.
Arbeiten mit Dateien in Volumes mithilfe der Benutzeroberfläche des Katalog-Explorers
Der Katalog-Explorer bietet Optionen für allgemeine Dateiverwaltungsaufgaben für Dateien, die auf Unity-Katalogvolumes gespeichert sind.
Gehen Sie wie folgt vor, um mit Dateien in einem Volume zu interagieren:
- Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
- Suchen Sie nach dem Volume, das Sie verwenden möchten, und wählen Sie es aus.
Ausführliche Informationen zum Erstellen und Verwalten von Volumes finden Sie unter Erstellen und Verwalten von Volumes.
Hochladen von Dateien auf ein Volume
Die Schaltfläche Auf dieses Volumen hochladen öffnet ein Dialogfeld zum Hochladen von Dateien. Weitere Informationen finden Sie unter Hochladen von Dateien auf ein Unity Catalog-Volume.
Hochgeladene Dateien dürfen 5 GB nicht überschreiten.
Herunterladen von Dateien von einem Volume
Gehen Sie wie folgt vor, um Dateien von einem Volume herunterzuladen:
- Wählen Sie mindestens eine Datei aus.
- Wählen Sie Herunterladen aus, um die Dateien herunterzuladen.
Löschen von Dateien aus einem Volume
Gehen Sie wie folgt vor, um Dateien aus einem Volume zu löschen:
- Wählen Sie mindestens eine Datei aus.
- Klicken Sie auf Löschen.
- Wählen Sie Löschen aus, um das angezeigte Dialogfeld zu bestätigen.
Erstellen eines leeren Verzeichnisses
Gehen Sie wie folgt vor, um ein neues Verzeichnis in einem Volume zu erstellen:
- Wählen Sie rechts neben dem Volumenamen aus.
- Wählen Sie Verzeichnis erstellen aus.
- Geben Sie einen Verzeichnisnamen ein.
- Klicken Sie auf Erstellen.
Löschen von Verzeichnissen aus einem Volume
Gehen Sie wie folgt vor, um Verzeichnisse aus einem Volume zu löschen:
- Wählen Sie ein oder mehrere Verzeichnisse aus.
- Klicken Sie auf Löschen.
- Wählen Sie Löschen aus, um das angezeigte Dialogfeld zu bestätigen.
Verwaltungsaufgaben für UI-Dateien für Volumes
Klicken Sie auf das Kebab-Menü neben einem Dateinamen, um die folgenden Aktionen auszuführen:
- Pfad kopieren
- Herunterladen einer Datei
- Datei löschen
- Tabelle erstellen
Erstellen einer Tabelle aus Daten in einem Volume
Azure Databricks bietet eine Benutzeroberfläche zum Erstellen einer verwalteten Unity Catalog Tabelle aus einer Datei, aus Dateien oder aus einem Verzeichnis von Dateien, die auf einem Unity Catalog-Volume gespeichert ist/sind.
Sie müssen über CREATE TABLE
-Berechtigungen im Zielschema verfügen und Zugriff auf ein ausgeführtes SQL Warehouse haben.
Wählen Sie eine oder mehrere Dateien oder ein Verzeichnis aus. Die Dateien sollten das gleiche Datenlayout haben.
Klicken Sie auf Tabelle erstellen. Der Dialog Tabelle aus Volumes erstellen wird angezeigt.
Über den angezeigten Dialog können Sie eine Vorschau der Daten prüfen und die folgenden Konfigurationen vervollständigen:
- Wählen Sie aus, ob Eine neue Tabelle erstellt oder Vorhandene Tabelle überschrieben werden soll
- Wählen Sie den Zielkatalog und das Zielschema aus.
- Geben Sie den Tabellennamen an.
- (Optional) Überschreiben Sie die voreingestellten Spaltennamen und -typen, oder schließen Sie Spalten aus.
Hinweis
Klicken Sie auf Erweiterte Attribute, um weitere Optionen anzuzeigen.
Klicken Sie auf Tabelle erstellen, um die Tabelle mit den angegebenen Attributen zu erstellen. Nach Abschluss des Katalog-Explorers werden die Tabellendetails angezeigt.
Programmgesteuertes Arbeiten mit Dateien in Volumen auf Azure Databricks
Sie können Dateien in Volumen aus allen unterstützten Sprachen und Arbeitsbereichs-Editoren lesen und schreiben, indem Sie das folgende Format verwenden:
/Volumes/catalog_name/schema_name/volume_name/path/to/files
Sie interagieren mit Dateien in Volumen auf die gleiche Weise wie mit Dateien an einem beliebigen Cloudobjektspeicherort. Das bedeutet: Wenn Sie derzeit Code verwalten, der Cloud-URIs, DBFS-Bereitstellungspfade oder DBFS-Stammpfade für die Interaktion mit Daten oder Dateien verwendet, können Sie den Code stattdessen aktualisieren, um Volumen zu verwenden.
Hinweis
Volumen werden nur für nicht tabellarische Daten verwendet. Databricks empfiehlt, tabellarische Daten mithilfe von Unity Catalog Tabellen zu registrieren und dann Daten mithilfe von Tabellennamen zu lesen und zu schreiben.
Lesen und Schreiben von Daten in Volumen
Sie können Apache Spark, Pandas, Spark SQL und andere OSS-Bibliotheken verwenden, um Datendateien in Volumen zu lesen und zu schreiben.
Die folgenden Beispiele veranschaulichen das Lesen einer CSV-Datei, die in einem Volumen gespeichert ist:
Python
df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")
display(df)
Pandas
import pandas as pd
df = pd.read_csv('/Volumes/catalog_name/schema_name/volume_name/data.csv')
display(df)
SQL
SELECT * FROM csv.`/Volumes/catalog_name/schema_name/volume_name/data.csv`
Hilfsbefehle für Dateien in Volumen
Databricks bietet die folgenden Tools zum Verwalten von Dateien in Volumen:
- Das
dbutils.fs
Untermodul in Databricks-Dienstprogrammen. Siehe Dateisystem-Hilfsprogramm (dbutils.fs). - Der
%fs
-Magic-Befehl, der ein Alias fürdbutils.fs
ist. - Der
%sh
-Magic-Befehl, die Bash Befehl gegen Volumen zulässt.
Ein Beispiel für die Verwendung dieser Tools zum Herunterladen von Dateien aus dem Internet, zum Entzippen von Dateien und zum Verschieben von Dateien aus ephemerem Blockspeicher in Volumes finden Sie unter Herunterladen von Daten aus dem Internet.
Sie können OSS-Pakete auch für Dateihilfsbefehle wie das Python-Modul os
verwenden, wie im folgenden Beispiel gezeigt:
import os
os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')
Verwalten von Dateien in Volumen aus externen Tools
Databricks bietet eine Reihe von Tools zum programmgesteuerten Verwalten von Dateien in Volumen aus Ihrer lokalen Umgebung oder integrierten Systemen.
SQL-Befehle für Dateien in Volumen
Azure Databricks unterstützt die folgenden SQL-Schlüsselwörter für die Interaktion mit Dateien in Volumen:
Hinweis
Databricks-Notizbücher oder Abfrage-Editor unterstützen nur den LIST
Befehl.
Die folgenden Databricks SQL-Connectors und -Treiber unterstützen das Verwalten von Dateien in Volumen:
- Databricks SQL-Connector für Python. Siehe Verwalten von Dateien in Unity Catalog Volumen.
- Der SQL-Treiber für Databricks für Go. Siehe Verwalten von Dateien in Unity Catalog Volumen.
- Der SQL-Treiber für Databricks für Node.js. Siehe Verwalten von Dateien in Unity Catalog Volumen.
- Der Databricks-JDBC-Treiber. Siehe Verwalten von Dateien in Unity Catalog Volumen mit dem Databricks JDBC-Treiber.
- Databricks-ODBC-Treiber. Siehe Verwalten von Dateien in Unity Catalog Volumen mit dem Databricks ODBC-Treiber.
Verwalten von Dateien in Volumes mit der Databricks CLI
Verwenden Sie die Unterbefehle in databricks fs
. Siehe fs-Befehlsgruppe.
Hinweis
Die Databricks CLI erfordert, dass das Schema dbfs:/
allen Volumenpfaden vorausgeht. Beispiel: dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data
.
Verwalten von Dateien in Volumen mit SDKs
Die folgenden SDKs unterstützen das Verwalten von Dateien in Volumen:
- Das Databricks SDK für Python. Verwenden Sie die verfügbaren Methoden in WorkspaceClient.files. Beispiele finden Sie unter Verwalten von Dateien in Unity Catalog Volumen.
- Das Databricks SDK für Java. Verwenden Sie die verfügbaren Methoden in WorkspaceClient.files. Beispiele finden Sie unter Verwalten von Dateien in Unity Catalog Volume.
- Das Databricks SDK für Go. Verwenden Sie die verfügbaren Methoden in WorkspaceClient.files. Beispiele finden Sie unter Verwalten von Dateien in Unity Catalog Volumen.
Verwalten von Dateien in Volumen mit der REST-API
Verwenden Sie die Datei-API, um Dateien in Volumen zu verwalten.
REST-API-Beispiele für Dateien in Volumen
In den folgenden Beispielen wird curl
und die Databricks-REST-API zum Ausführen von Dateiverwaltungsaufgaben in Volumen verwendet.
Im folgenden Beispiel wird ein leerer Ordner erstellt, der im angegebenen Volumen my-folder
genannt wird.
curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
Im folgenden Beispiel wird eine Datei data.csv
mit den angegebenen Daten im angegebenen Pfad im Volumen erstellt.
curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv?overwrite=true" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--header "Content-Type: application/octet-stream" \
--data-binary $'id,Text\n1,Hello World!'
Im folgenden Beispiel werden die Inhalte eines Volumen im angegebenen Pfad aufgelistet. In diesem Beispiel wird jq verwendet, um den JSON-Code des Antworttexts zu formatieren, um das Lesen zu erleichtern.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
Im folgenden Beispiel werden die Inhalte eines Ordners in einem Volumen im angegebenen Pfad aufgelistet. In diesem Beispiel wird jq verwendet, um den JSON-Code des Antworttexts zu formatieren, um das Lesen zu erleichtern.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
Im folgenden Beispiel wird der Inhalt einer Datei im angegebenen Pfad in einem Volumen gedruckt.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
Im folgenden Beispiel wird eine Datei im angegebenen Pfad aus einem Volumen gelöscht.
curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
Im folgenden Beispiel wird ein Ordner aus dem angegebenen Volumen gelöscht.
curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"