Zarządzanie plikami w woluminach
Ten artykuł zawiera przykłady zarządzania plikami w Unity Catalog woluminów dla różnych interfejsów użytkownika, narzędzi, bibliotek i języków.
Usługa Databricks zaleca używanie woluminów do zarządzania wszystkimi dostępami do danych innych niż tabelaryczne w magazynie obiektów w chmurze. Przykłady danych innych niż tabelaryczne obejmują następujące elementy:
- Pliki danych do pozyskiwania, takie jak CSV, JSON i Parquet.
- Pliki tekstowe, obrazowe i audio na potrzeby obciążeń nauki o danych, uczenia maszynowego i sztucznej inteligencji.
- Artefakty CSV lub JSON napisane przez usługę Azure Databricks na potrzeby integracji z systemami zewnętrznymi.
Woluminy można używać do przechowywania plików, takich jak biblioteki, skrypty inicjowania i artefaktów kompilacji. Zobacz Zalecenia dotyczące plików w woluminach i plikach obszaru roboczego.
Praca z plikami w woluminach przy użyciu interfejsu użytkownika Eksploratora katalogów
Eksplorator Katalogu oferuje opcje do typowych zadań zarządzania plikami dla plików przechowywanych w woluminach Unity Catalog.
Aby wchodzić w interakcje z plikami w woluminie, wykonaj następujące czynności:
- W obszarze roboczym usługi Azure Databricks kliknij ikonę katalogu
Catalog.
- Wyszukaj lub przeglądaj wolumin, z którym chcesz pracować, i wybierz go.
Aby uzyskać szczegółowe informacje na temat tworzenia woluminów i zarządzania nimi, zobacz Tworzenie woluminów i zarządzanie nimi.
Przekazywanie plików do woluminu
Przycisk Przekaż do tego woluminu otwiera okno dialogowe przekazywania plików. Zobacz Upload files to a Unity Catalog volume (Przekazywanie plików do woluminu wykazu aparatu Unity).
Przekazane pliki nie mogą przekraczać 5 GB.
Pobieranie plików z woluminu
Aby pobrać pliki z woluminu, wykonaj następujące czynności:
- Wybierz co najmniej jeden plik.
- Kliknij przycisk Pobierz , aby pobrać te pliki.
Jednocześnie można pobrać tylko 10 plików.
Usuwanie plików z woluminu
Aby usunąć pliki z woluminu, wykonaj następujące czynności:
- Wybierz co najmniej jeden plik.
- Kliknij Usuń.
- Kliknij przycisk Usuń , aby potwierdzić w wyświetlonym oknie dialogowym.
Tworzenie pustego katalogu
Aby utworzyć nowy katalog w woluminie, wykonaj następujące czynności:
- Kliknij ikonę
z prawej strony nazwy woluminu.
- Wybierz opcję Utwórz katalog.
- Wprowadź nazwę katalogu.
- Kliknij pozycję Utwórz.
Usuwanie katalogów z woluminu
Aby usunąć katalogi z woluminu, wykonaj następujące czynności:
- Wybierz co najmniej jeden katalog.
- Kliknij Usuń.
- Kliknij przycisk Usuń , aby potwierdzić w wyświetlonym oknie dialogowym.
Zadania zarządzania plikami interfejsu użytkownika dla woluminów
Kliknij menu kebab obok nazwy pliku, aby wykonać następujące akcje:
- Kopiuj ścieżkę
- Pobierz plik
- Usuń plik
- Tworzenie tabeli
Tworzenie tabeli na podstawie danych w woluminie
Usługa Azure Databricks udostępnia interfejs użytkownika umożliwiający utworzenie tabeli zarządzanej przez Unity Catalog na podstawie pliku, plików lub katalogu plików przechowywanych w woluminie Unity Catalog.
Musisz mieć uprawnienia CREATE TABLE
w schemacie docelowym i mieć dostęp do działającego magazynu SQL Warehouse.
Wybierz co najmniej jeden plik lub katalog. Pliki powinny mieć ten sam układ danych.
Kliknij pozycję Utwórz tabelę. Zostanie wyświetlone okno dialogowe Tworzenie tabeli z woluminów.
Użyj podanego okna dialogowego, aby przejrzeć podgląd danych i ukończyć następujące konfiguracje:
- Wybierz opcję Utwórz nową tabelę lub zastąp istniejącą tabelę
- Wybierz docelowy katalog i schemat .
- Określ nazwę tabeli .
- (Opcjonalnie) Zastąpij domyślne nazwy kolumn i typy lub wybierz opcję wykluczania kolumn.
Uwaga
Kliknij pozycję Atrybuty zaawansowane, aby wyświetlić dodatkowe opcje.
Kliknij Utwórz tabelę, aby utworzyć tabelę z określonymi atrybutami. Po zakończeniu Eksplorator wykazu wyświetla szczegóły tabeli.
Programowanie pracy z plikami w woluminach w usłudze Azure Databricks
Pliki można odczytywać i zapisywać w woluminach ze wszystkich obsługiwanych języków i edytorów obszarów roboczych przy użyciu następującego formatu:
/Volumes/catalog_name/schema_name/volume_name/path/to/files
Interakcja z plikami w woluminach jest taka sama, jak w przypadku interakcji z plikami w dowolnej lokalizacji magazynu obiektów w chmurze. Oznacza to, że jeśli obecnie zarządzasz kodem korzystającym z identyfikatorów URI chmury, ścieżek instalacji systemu plików DBFS lub ścieżek głównych systemu plików DBFS w celu interakcji z danymi lub plikami, możesz zaktualizować kod, aby zamiast tego używał woluminów.
Uwaga
Woluminy są używane tylko w przypadku danych innych niż tabelaryczne. Databricks zaleca rejestrowanie danych tabelarycznych przy użyciu tabel w Unity Catalog, a następnie odczytywanie i zapisywanie danych przy użyciu nazw tabel.
Odczytywanie i zapisywanie danych w woluminach
Możesz użyć platformy Apache Spark, bibliotek pandas, Spark SQL i innych bibliotek open-source do odczytywania i zapisywania plików danych w dużych ilościach.
W poniższych przykładach pokazano odczytywanie pliku CSV przechowywanego w woluminie:
Python
df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")
display(df)
Pandy
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`
Polecenia użytkowe dla plików w woluminach
Usługa Databricks udostępnia następujące narzędzia do zarządzania plikami w woluminach:
- Moduł
dbutils.fs
podrzędny w narzędziach usługi Databricks. Zobacz Narzędzie systemu plików (dbutils.fs). - Magia
%fs
, która jest aliasem dla elementudbutils.fs
. - Magia
%sh
, która umożliwia uruchamianie poleceń bash na woluminach.
Aby zapoznać się z przykładem użycia tych narzędzi do pobierania plików z Internetu, rozpakowywania plików i przenoszenia plików z efemerycznego magazynu blokowego do woluminów, zobacz Pobieranie danych z Internetu.
Możesz również użyć pakietów systemu operacyjnego dla poleceń narzędzi plików, takich jak moduł języka Python os
, jak pokazano w poniższym przykładzie:
import os
os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')
Zarządzanie plikami w woluminach za pomocą narzędzi zewnętrznych
Usługa Databricks udostępnia zestaw narzędzi do zarządzania plikami w woluminach w sposób programowy, zarówno w środowisku lokalnym, jak i w zintegrowanych systemach.
Polecenia SQL dla plików w woluminach
Usługa Azure Databricks obsługuje następujące słowa kluczowe SQL do interakcji z plikami w woluminach:
Uwaga
Notesy usługi Databricks lub edytor zapytań obsługują LIST
tylko polecenie .
Następujące łączniki i sterowniki SQL usługi Databricks obsługują zarządzanie plikami w woluminach:
- Łącznik SQL usługi Databricks dla języka Python. Zobacz Zarządzanie plikami w woluminach katalogu Unity.
- Sterownik SQL usługi Databricks dla języka Go. Zobacz Manage files in Unity Catalog volumes (Zarządzanie plikami w woluminach wykazu aparatu Unity).
- Sterownik SQL usługi Databricks dla Node.js. Zobacz Zarządzaj plikami w woluminach Unity Catalog.
- Sterownik JDBC usługi Databricks. Zobacz Zarządzanie plikami w woluminach katalogu Unity za pomocą sterownika JDBC Databricks.
- Sterownik ODBC usługi Databricks. Zobacz Zarządzanie plikami w woluminach Unity Catalog za pomocą sterownika ODBC Databricks.
Zarządzanie plikami w woluminach za pomocą interfejsu wiersza polecenia usługi Databricks
Użyj poleceń podrzędnych w pliku databricks fs
. Zobacz fs grupy poleceń.
Uwaga
Interfejs wiersza polecenia usługi Databricks wymaga, aby schemat dbfs:/
poprzedzał wszystkie ścieżki woluminów. Na przykład dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data
.
Zarządzanie plikami w woluminach przy użyciu zestawów SDK
Następujące zestawy SDK obsługują zarządzanie plikami w woluminach:
- Zestaw SDK usługi Databricks dla języka Python. Użyj dostępnych metod w pliku WorkspaceClient.files. Aby zapoznać się z przykładami, zobacz Manage files in Unity Catalog volumes.
- Zestaw SDK usługi Databricks dla języka Java. Użyj dostępnych metod w pliku WorkspaceClient.files. Aby zapoznać się z przykładami, zobacz Manage files in Unity Catalog volumes.
- Zestaw SDK usługi Databricks dla języka Go. Użyj dostępnych metod w pliku WorkspaceClient.files. Aby zapoznać się z przykładami, zobacz Zarządzanie plikami w woluminach katalogu Unity.
Zarządzaj plikami w woluminach przy użyciu interfejsu REST API
Użyj interfejsu API Files do zarządzania plikami w woluminach.
Przykłady REST API dla plików w woluminach
W poniższych przykładach użyto curl
i interfejsu API REST usługi Databricks do wykonywania zadań zarządzania plikami w woluminach.
Poniższy przykład tworzy pusty folder o nazwie my-folder
w określonym woluminie.
curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
Poniższy przykład tworzy plik o nazwie data.csv
z określonymi danymi w określonej ścieżce w woluminie.
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!'
Poniższy przykład zawiera listę zawartości woluminu w określonej ścieżce. W tym przykładzie użyto języka jq do sformatowania kodu JSON treści odpowiedzi w celu ułatwienia odczytywania.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
Poniższy przykład zawiera listę zawartości folderu w woluminie w określonej ścieżce. W tym przykładzie użyto języka jq do sformatowania kodu JSON treści odpowiedzi w celu ułatwienia odczytywania.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
Poniższy przykład wyświetla zawartość pliku w określonej ścieżce w woluminie.
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}"
Poniższy przykład usuwa plik w określonej ścieżce z woluminu.
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}"
Poniższy przykład usuwa folder z określonego woluminu.
curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"