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:
- På din Azure Databricks-arbetsyta klickar du på ikonen
Katalog.
- 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:
- Välj en eller flera filer.
- 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:
- Välj en eller flera filer.
- Klicka på Ta bort.
- 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:
-
Klicka till höger om volymnamnet.
- Välj Skapa katalog.
- Ange ett katalognamn.
- 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:
- Välj en eller flera kataloger.
- Klicka på Ta bort.
- 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 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.
Välj en eller flera filer eller en katalog. Filer bör ha samma datalayout.
Klicka på Skapa tabell. Dialogrutan Skapa tabell från volymer visas.
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.
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ördbutils.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:
- Databricks SQL Connector för Python. Se Hantera filer i Unity Catalog-volymer.
- The Databricks SQL Driver for Go. Se Hantera filer i Unity Catalog-volymer.
- Databricks SQL-drivrutinen för Node.js. Se Hantera filer i Unity Catalog-volymer.
- Databricks JDBC-drivrutinen. Se Hantera filer i Unity Catalog-volymer med Databricks JDBC-drivrutinen.
- Databricks ODBC-drivrutinen. Se Hantera filer i Unity Catalog-volymer med Databricks ODBC-drivrutinen.
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:
- Databricks SDK för Python. Använd de tillgängliga metoderna i WorkspaceClient.files. Exempel finns i Hantera filer i Unity Catalog-volymer.
- Databricks SDK för Java. Använd de tillgängliga metoderna i WorkspaceClient.files. Exempel finns i Hantera filer i Unity Catalog-volymer.
- Databricks SDK för Go. Använd de tillgängliga metoderna i WorkspaceClient.files. Exempel finns i Hantera filer i Unity Catalog-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}"