Dela via


Hantera filer i volymer

Den här artikeln innehåller exempel på hur du hanterar filer i Unity Catalog volymer för olika användargränssnitt, verktyg, bibliotek och språk.

Databricks rekommenderar att du använder volymer för att hantera all åtkomst till icke-tabelldata i molnobjektlagring. Exempel på icke-tabelldata är följande:

  • Datafiler för inmatning som CSV, JSON och Parquet.
  • Text-, bild- och ljudfiler för datavetenskap, ML- och AI-arbetsbelastningar.
  • CSV- eller JSON-artefakter skrivna av Azure Databricks för integrering med externa system.

Du kan använda volymer för att lagra filer som bibliotek, init-skript och skapa artefakter. Se Rekommendationer för filer i volymer och arbetsytefiler.

Arbeta med filer i volymer med hjälp av katalogutforskarens användargränssnitt

Katalogutforskaren innehåller alternativ för vanliga filhanteringsuppgifter för filer som lagras med Unity Catalog-volymer.

Gör följande för att interagera med filer i en volym:

  1. På din Azure Databricks-arbetsyta klickar du på ikonen KatalogKatalog.
  2. Sök eller bläddra efter den volym som du vill arbeta med och välj den.

Mer information om hur du skapar och hanterar volymer finns i Skapa och hantera volymer.

Ladda upp filer till en volym

Knappen Ladda upp till den här volymen öppnar en dialogruta för att ladda upp filer. Se Ladda upp filer till en Unity Catalog-volym.

Uppladdade filer får inte överstiga 5 GB.

Ladda ned filer från en volym

Om du vill ladda ned filer från en volym gör du följande:

  1. Välj en eller flera filer.
  2. Klicka på Ladda ned för att ladda ned dessa filer.

Du kan bara ladda ned 10 filer åt gången.

Ta bort filer från en volym

Om du vill ta bort filer från en volym gör du följande:

  1. Välj en eller flera filer.
  2. Klicka på Ta bort.
  3. Klicka på Ta bort för att bekräfta i dialogrutan som visas.

Skapa en tom katalog

Gör följande för att skapa en ny katalog i en volym:

  1. Menyn Kebab Klicka till höger om volymnamnet.
  2. Välj Skapa katalog.
  3. Ange ett katalognamn.
  4. Klicka på Skapa.

Ta bort kataloger från en volym

Om du vill ta bort kataloger från en volym gör du följande:

  1. Välj en eller flera kataloger.
  2. Klicka på Ta bort.
  3. Klicka på Ta bort för att bekräfta i dialogrutan som visas.

Användargränssnitt för filhantering av volymer

Klicka på menyn för kebab Menyn Kebab bredvid ett filnamn för att utföra följande åtgärder:

  • Kopiera sökväg
  • Ladda ned fil
  • Ta bort fil
  • Skapa tabell

Skapa en tabell från data i en volym

Azure Databricks tillhandahåller ett användargränssnitt för att skapa en hanterad Unity Catalog-tabell från en fil, filer eller katalog med filer som lagras i en Unity Catalog-volym.

Du måste ha CREATE TABLE behörigheter i målschemat och ha åtkomst till ett SQL-lager som körs.

  1. Välj en eller flera filer eller en katalog. Filer bör ha samma datalayout.

  2. Klicka på Skapa tabell. Dialogrutan Skapa tabell från volymer visas.

  3. Använd den angivna dialogrutan för att granska en förhandsgranskning av data och slutföra följande konfigurationer:

    • Välj att Skapa ny tabell eller Skriv över befintlig tabell
    • Välj mål katalog och schema.
    • Ange Tabellnamn.
    • (Valfritt) Åsidosätt standardkolumnnamn och typer, eller välj att exkludera kolumner.

    Kommentar

    Klicka på Avancerade attribut för att visa ytterligare alternativ.

  4. Klicka på Skapa tabell för att skapa tabellen med de angivna attributen. När du är klar visar Katalogutforskaren tabellinformationen.

Arbeta programmatiskt med filer i volymer i Azure Databricks

Du kan läsa och skriva filer i volymer från alla språk och arbetsyteredigerare som stöds med följande format:

/Volumes/catalog_name/schema_name/volume_name/path/to/files

Du interagerar med filer i volymer på samma sätt som du interagerar med filer på valfri lagringsplats för molnobjekt. Det innebär att om du för närvarande hanterar kod som använder moln-URI:er, DBFS-monteringssökvägar eller DBFS-rotsökvägar för att interagera med data eller filer, kan du uppdatera koden så att den använder volymer i stället.

Kommentar

Volymer används endast för icke-tabelldata. Databricks rekommenderar att du registrerar tabelldata med hjälp av Unity Catalog-tabeller och sedan läser och skriver data med hjälp av tabellnamn.

Läsa och skriva data i volymer

Du kan använda Apache Spark, Pandas, Spark SQL och andra OSS-bibliotek för att läsa och skriva datafiler i volymer.

Följande exempel visar läsning av en CSV-fil som lagras i en volym:

Python

df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")

display(df)

Pandor

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`

Verktygskommandon för filer i volymer

Databricks tillhandahåller följande verktyg för att hantera filer i volymer:

  • Undermodulen dbutils.fs i Databricks Utilities. Se Filsystemverktyget (dbutils.fs).
  • Magin %fs , som är ett alias för dbutils.fs.
  • Den %sh magi, som tillåter bash-kommando mot volymer.

Ett exempel på hur du använder dessa verktyg för att ladda ned filer från Internet, packa upp filer och flytta filer från tillfällig blocklagring till volymer finns i Ladda ned data från Internet.

Du kan också använda OSS-paket för filverktygskommandon, till exempel Python-modulen os , som du ser i följande exempel:

import os

os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')

Hantera filer i volymer från externa verktyg

Databricks tillhandahåller en uppsättning verktyg för programmatiskt hantering av filer i volymer från din lokala miljö eller integrerade system.

SQL-kommandon för filer i volymer

Azure Databricks stöder följande SQL-nyckelord för att interagera med filer i volymer:

Kommentar

Databricks-notebook-filer eller frågeredigeraren stöder LIST endast kommandot.

Följande Databricks SQL-anslutningsappar och drivrutiner stöder hantering av filer i volymer:

Hantera filer i volymer med Databricks CLI

Använd underkommandona i databricks fs. Se fs-kommandogruppen.

Kommentar

Databricks CLI kräver att prefixet dbfs:/ finns framför alla volymsökvägar. Exempel: dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data

Hantera filer i volymer med SDK:er

Följande SDK:er stöder hantering av filer i volymer:

Hantera filer i volymer med REST-API:et

Använd Files API- för att hantera filer i volymer.

REST API-exempel för filer i volymer

I följande exempel används curl och Databricks REST API för att utföra filhanteringsuppgifter i volymer.

I följande exempel skapas en tom mapp med namnet my-folder i den angivna volymen.

curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

I följande exempel skapas en fil med namnet data.csv med angivna data i den angivna sökvägen i volymen.

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!'

I följande exempel visas innehållet i en volym i den angivna sökvägen. I det här exemplet används jq för att formatera svarstextens JSON för enklare läsning.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .

I följande exempel visas innehållet i en mapp i en volym i den angivna sökvägen. I det här exemplet används jq för att formatera svarstextens JSON för enklare läsning.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .

I följande exempel skrivs innehållet i en fil ut i den angivna sökvägen i en volym.

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

I följande exempel tas en fil bort i den angivna sökvägen från en volym.

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

I följande exempel tas en mapp bort från den angivna volymen.

curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"