Zarządzanie plikami w woluminach
Ten artykuł zawiera przykłady zarządzania plikami w woluminach wykazu aparatu Unity 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 wykazu
Eksplorator wykazu udostępnia opcje typowych zadań zarządzania plikami dla plików przechowywanych w woluminach wykazu aparatu Unity.
Aby wchodzić w interakcje z plikami w woluminie, wykonaj następujące czynności:
- W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
- 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 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.
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 pozycję 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
- Utwórz tabelę
Tworzenie tabeli na podstawie danych w woluminie
Usługa Azure Databricks udostępnia interfejs użytkownika umożliwiający utworzenie tabeli zarządzanej wykazu aparatu Unity na podstawie pliku, plików lub katalogu plików przechowywanych w woluminie wykazu aparatu Unity.
Musisz mieć CREATE TABLE
uprawnienia 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 na podstawie woluminów .
Użyj podanego okna dialogowego, aby przejrzeć podgląd danych i ukończyć następujące konfiguracje:
- Wybierz pozycję 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 pozycję Utwórz tabelę , aby utworzyć tabelę z określonymi atrybutami. Po zakończeniu Eksplorator wykazu wyświetla szczegóły tabeli.
Programowa praca 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. Usługa Databricks zaleca rejestrowanie danych tabelarycznych przy użyciu tabel wykazu aparatu Unity, 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 systemu operacyjnego do odczytywania i zapisywania plików danych w woluminach.
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 narzędzia 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 polecenie powłoki bash względem woluminów.
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 z narzędzi zewnętrznych
Usługa Databricks udostępnia zestaw narzędzi do programowego zarządzania plikami w woluminach ze środowiska lokalnego lub zintegrowanych systemów.
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 wykazu aparatu Unity.
- Sterownik SQL usługi Databricks dla języka Go. Zobacz Zarządzanie plikami w woluminach wykazu aparatu Unity.
- Sterownik SQL usługi Databricks dla Node.js. Zobacz Zarządzanie plikami w woluminach wykazu aparatu Unity.
- Sterownik JDBC usługi Databricks. Zobacz Zarządzanie plikami w woluminach wykazu aparatu Unity za pomocą sterownika JDBC usługi Databricks.
- Sterownik ODBC usługi Databricks. Zobacz Zarządzanie plikami w woluminach wykazu aparatu Unity za pomocą sterownika ODBC usługi 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. Przykłady można znaleźć w temacie Manage files in Unity Catalog volumes (Zarządzanie plikami w woluminach wykazu aparatu Unity).
- Zestaw SDK usługi Databricks dla języka Java. Użyj dostępnych metod w pliku WorkspaceClient.files. Przykłady można znaleźć w temacie Manage files in Unity Catalog volumes (Zarządzanie plikami w woluminach wykazu aparatu Unity).
- Zestaw SDK usługi Databricks dla języka Go. Użyj dostępnych metod w pliku WorkspaceClient.files. Przykłady można znaleźć w temacie Manage files in Unity Catalog volumes (Zarządzanie plikami w woluminach wykazu aparatu Unity).
Zarządzanie plikami w woluminach za pomocą interfejsu API REST
Użyj interfejsu API plików do zarządzania plikami w woluminach.
Przykłady interfejsu API REST dla plików w woluminach
W poniższych przykładach użyto interfejsu curl
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}"