Freigeben über


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:

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.
  2. 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:

  1. Wählen Sie mindestens eine Datei aus.
  2. 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:

  1. Wählen Sie mindestens eine Datei aus.
  2. Klicken Sie auf Löschen.
  3. 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:

  1. Wählen Sie rechts neben dem Volumenamen Kebab-Menü aus.
  2. Wählen Sie Verzeichnis erstellen aus.
  3. Geben Sie einen Verzeichnisnamen ein.
  4. Klicken Sie auf Erstellen.

Löschen von Verzeichnissen aus einem Volume

Gehen Sie wie folgt vor, um Verzeichnisse aus einem Volume zu löschen:

  1. Wählen Sie ein oder mehrere Verzeichnisse aus.
  2. Klicken Sie auf Löschen.
  3. 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ü 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.

  1. Wählen Sie eine oder mehrere Dateien oder ein Verzeichnis aus. Die Dateien sollten das gleiche Datenlayout haben.

  2. Klicken Sie auf Tabelle erstellen. Der Dialog Tabelle aus Volumes erstellen wird angezeigt.

  3. Ü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.

  4. 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ür dbutils.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:

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:

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}"