Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Diese Seite enthält Beispiele zum Verwalten von Dateien in Unity-Katalogvolumes für verschiedene Benutzeroberflächen, Tools, Bibliotheken und Sprachen.
Databricks empfiehlt die Verwendung von Volumes zum Verwalten des gesamten Zugriffs auf nicht tabellarische Daten im Cloudobjektspeicher und zum Speichern von Workload-Supportdateien. Beispiele hierfür sind:
- Datendateien zur Verarbeitung, z. B. 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
- Bibliotheken, Initskripts und Erstellen von Artefakten
Volumes stellen Pfade im Stil von Portable Operating System Interface (POSIX) bereit, die mit Filesystem in Userspace (FUSE)-abhängigen Tools und Frameworks funktionieren. Dies macht sie ideal für Machine Learning Frameworks und Open Source Python-Module, die POSIX-Stil-Zugriff erfordern. Ausführliche Informationen zu URI-Schemas, POSIX-Pfaden und deren Beziehung zu Volumes finden Sie unter "Muss ich ein URI-Schema für den Zugriff auf Daten bereitstellen?".
Methoden zum Verwalten von Dateien in Volumes
Schnelle Beispiele für jede Methode finden Sie unter "Arbeiten mit Dateien in Unity-Katalogvolumes".
| Schnittstelle | Description |
|---|---|
| Benutzeroberfläche des Katalog-Explorers | Interaktive Dateiverwaltung über den Azure Databricks-Arbeitsbereich |
| Programmgesteuerter Zugriff | Lesen und Schreiben von Dateien mit Apache Spark, Pandas oder SQL |
| Databricks-Dienstprogramme | Dateivorgänge mit dbutils.fs oder magischen Befehlen (%fs, %sh) in Notizbüchern |
| SQL-Befehle | Dateivorgänge mit SQL-Schlüsselwörtern (LIST, PUT INTO, , GETREMOVE) und Connectors |
| Databricks-Befehlszeilenschnittstelle | Befehlszeilenvorgänge mit databricks fs Befehlen |
| SDKs | Dateivorgänge mit Python, Java oder Go SDKs |
| REST-API | Direkter API-Zugriff für benutzerdefinierte Integrationen |
Verwenden des Katalog-Explorers
Der Katalog-Explorer verfügt über Optionen für allgemeine Dateiverwaltungsaufgaben für Dateien, die mit Unity-Katalogvolumes gespeichert sind.
Gehen Sie wie folgt vor, um mit Dateien in einem Volume zu interagieren:
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
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 Unity-Katalogvolumes.
Hochladen von Dateien auf ein Volume
Sie können Dateien eines beliebigen Formats – strukturiert, halbstrukturiert oder unstrukturiert – in ein Volume hochladen. Wenn Sie über die Benutzeroberfläche hochladen, gibt es einen Grenzwert von 5 GB Dateigröße. Volumes unterstützen jedoch Dateien bis zur maximalen Größe, die vom zugrunde liegenden Cloudspeicher unterstützt wird. Sie können sehr große Dateien mit Spark schreiben und große Dateien mithilfe der Azure Databricks-API oder SDKs hochladen.
Anforderungen
Stellen Sie sicher, dass Sie Folgendes haben, bevor Sie auf ein Volume hochladen:
- Ein Arbeitsbereich mit aktiviertem Unity-Katalog
-
WRITE VOLUMEauf dem Zielvolumen -
USE SCHEMAim übergeordneten Schema -
USE CATALOGim übergeordneten Katalog
Ausführliche Informationen finden Sie unter Unity-Katalogberechtigungen und sicherungsfähige Objekte.
Uploadschritte
- Klicken Sie im Katalog-Explorer auf Daten hinzufügen>auf Volume hochladen.
- Klicken Sie auf "Durchsuchen ", oder legen Sie Dateien in der Dropdownzone ab.
- Wählen Sie ein Laufwerk oder Verzeichnis aus, oder fügen Sie einen Laufwerkpfad ein.
- Wenn im Zielschema kein Volume vorhanden ist, erstellen Sie ein Volume.
- Sie können auch ein neues Verzeichnis innerhalb des Zielvolumes erstellen.
Sie können auch auf folgende Weise auf die Upload-UI zugreifen:
- In der Randleiste: Neu>Daten hinzufügen>Dateien ins Volume hochladen
- Aus einem Notizbuch: Dateien auf Volume hochladen>
Nächste Schritte
Nachdem Sie ein Volume hochgeladen haben, können Sie die folgenden Aktionen ausführen:
- Erstellen Sie eine verwaltete Tabelle im Unity-Katalog aus den Dateien. Siehe Erstellen einer Tabelle aus Daten in einem Volume.
- Verwenden der Dateien in ML- und Data Science-Workloads
- Konfigurieren Sie Clusterspezifische Bibliotheken, Notizbuch-spezifische Bibliotheken oder Auftragsabhängigkeiten mithilfe der hochgeladenen Dateien.
- Aufnehmen von Daten für Technische Pipelines mithilfe des automatischen Ladegeräts oder COPY INTO
- Verarbeiten von Dateien mit KI-Funktionen wie
ai_parse_document - Einrichten von Dateiankunftsauslösern in Jobs
- Hochladen von Dokumenten für die Verwendung mit AgentBricks (z. B. Wissens-Assistent-Szenarien)
Herunterladen von Dateien von einem Volume
Gehen Sie wie folgt vor, um Dateien von einem Volume herunterzuladen:
- Wählen Sie mindestens eine Datei aus.
- Klicken Sie auf "Herunterladen ", um diese 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.
- Klicken Sie auf "Löschen ", 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:
- Klicken Sie auf der Registerkarte "Volumeübersicht" auf " Verzeichnis erstellen".
- Geben Sie einen Verzeichnisnamen ein.
- Klicken Sie auf "Erstellen".
Herunterladen eines Verzeichnisses
Gehen Sie wie folgt vor, um ein Verzeichnis in einem Volume herunterzuladen:
- Klicken Sie auf das
rechts neben dem Verzeichnis.
- Klicken Sie auf "Verzeichnis herunterladen".
Das Verzeichnis wird als ZIP-Datei heruntergeladen.
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.
- Klicken Sie auf "Löschen ", um das angezeigte Dialogfeld zu bestätigen.
Verwaltungsaufgaben für UI-Dateien für Volumes
Klicken Sie auf das Kebab-Menüsymbol. Klicken Sie neben einem Dateinamen auf das , um die folgenden Aktionen auszuführen:
- Pfad kopieren
- Herunterladen der 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 Volumes
Lesen und Schreiben von Dateien in Volumes aus allen unterstützten Sprachen und Arbeitsbereichs-Editoren mit dem folgenden Format:
/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
Verwenden Sie Apache Spark, Pandas, Spark SQL und andere OSS-Bibliotheken, um Datendateien in Volumes 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.fsUntermodul in Databricks-Dienstprogrammen. Siehe Dateisystem-Hilfsprogramm (dbutils.fs). - Der
%fs-Magic-Befehl, der ein Alias fürdbutils.fsist. - 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:
In Azure Databricks-Notizbüchern und dem SQL-Abfrage-Editor wird nur der LIST Befehl unterstützt. Die anderen SQL-Befehle (PUT INTO, GETund REMOVE) sind über die folgenden Databricks SQL-Connectors und -Treiber verfügbar, die das Verwalten von Dateien in Volumes unterstützen:
- Databricks SQL-Connector für Python
- Databricks SQL-Treiber für Go
- Databricks SQL-Treiber für Node.js
- Databricks JDBC-Treiber
- ODBC-Treiber für Databricks
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 Volumen.
- 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 Volumes 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}"
Einschränkungen beim Arbeiten mit Dateien in Volumes
Beachten Sie vor dem Arbeiten mit Dateien in Volumes die folgenden Einschränkungen:
Direct-Append- oder nicht sequenzielle (zufällige) Schreibvorgänge werden nicht unterstützt. Dies wirkt sich auf Vorgänge wie das Schreiben von ZIP- und Excel-Dateien aus. Für diese Workloads:
- Führen Sie zuerst die Vorgänge auf einem lokalen Datenträger aus.
- Kopieren Sie die Ergebnisse auf das Volume.
Beispiel:
# python import xlsxwriter from shutil import copyfile workbook = xlsxwriter.Workbook('/local_disk0/tmp/excel.xlsx') worksheet = workbook.add_worksheet() worksheet.write(0, 0, "Key") worksheet.write(0, 1, "Value") workbook.close() copyfile('/local_disk0/tmp/excel.xlsx', '/Volumes/my_catalog/my_schema/my_volume/excel.xlsx')Sparse-Dateien werden nicht unterstützt. Verwenden Sie
cp --sparse=neverFolgendes, um sparse Dateien zu kopieren:$ cp sparse.file /Volumes/my_catalog/my_schema/my_volume/sparse.file error writing '/dbfs/sparse.file': Operation not supported $ cp --sparse=never sparse.file /Volumes/my_catalog/my_schema/my_volume/sparse.file