Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta strona zawiera przykłady zarządzania plikami w woluminach Unity Catalog 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 dostępem do wszystkich danych nietabelarycznych w magazynie obiektów w chmurze oraz przechowywania plików wspierających obciążenia. Przykłady obejmują następujące elementy:
- Pliki danych do ładowania, 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
- Biblioteki, skrypty inicjalizacyjne i artefakty kompilacji
Woluminy zapewniają ścieżki w stylu zgodnym z normą POSIX, które współpracują z narzędziami i strukturami zależnymi od systemu plików w przestrzeni użytkownika (FUSE). To sprawia, że są idealne dla platform uczenia maszynowego i modułów języka Python typu open source, które wymagają dostępu w stylu POSIX. Aby uzyskać szczegółowe informacje o schematach identyfikatorów URI, ścieżkach POSIX i sposobie ich powiązania z woluminami, zobacz Czy muszę podać schemat identyfikatora URI, aby uzyskać dostęp do danych?.
Metody zarządzania plikami w woluminach
Aby uzyskać krótkie przykłady każdej metody, zobacz Praca z plikami w woluminach Unity Catalog.
| Interfejs | Description |
|---|---|
| Interfejs użytkownika Eksploratora wykazu | Interaktywne zarządzanie plikami za pośrednictwem obszaru roboczego usługi Azure Databricks |
| Dostęp programowy | Odczytywanie i zapisywanie plików przy użyciu platformy Apache Spark, biblioteki Pandas lub sql |
| Narzędzia Databricks | Operacje na plikach przy użyciu dbutils.fs lub poleceń magicznych (%fs, %sh) w notebookach |
| Polecenia SQL | Operacje na plikach przy użyciu słów kluczowych SQL (LIST, PUT INTO, GET, REMOVE) i łączników |
| Databricks CLI | Operacje wiersza poleceń przy użyciu databricks fs |
| Zestawy SDK | Operacje na plikach przy użyciu zestawów SDK python, Java lub Go |
| API REST | Bezpośredni dostęp do interfejsu API na potrzeby integracji niestandardowych |
Korzystanie z Eksploratora wykazu
Eksplorator katalogu oferuje opcje 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
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 wykazu aparatu Unity i zarządzanie nimi.
Przekazywanie plików do woluminu
Pliki o dowolnym formacie — ustrukturyzowanym, częściowo ustrukturyzowanym lub bez struktury — można przekazać do woluminu. Podczas przekazywania za pośrednictwem interfejsu użytkownika istnieje limit rozmiaru pliku o rozmiarze 5 GB. Jednak same woluminy obsługują pliki o maksymalnym rozmiarze obsługiwanym przez bazowy magazyn w chmurze. Możesz zapisywać bardzo duże pliki przy użyciu platformy Spark i przekazywać duże pliki przy użyciu interfejsu API lub zestawów SDK usługi Azure Databricks.
Requirements
Przed przekazaniem do woluminu upewnij się, że masz następujące elementy:
- Obszar roboczy z włączonym Unity Catalog
-
WRITE VOLUMEna woluminie docelowym -
USE SCHEMAw schemacie nadrzędnym -
USE CATALOGw katalogu nadrzędnym
Aby uzyskać szczegółowe informacje, zobacz Uprawnienia wykazu aparatu Unity i zabezpieczane obiekty.
Kroki przesyłania
- W Eksploratorze katalogów kliknij pozycję Dodaj dane>Załaduj na wolumin.
- Kliknij przycisk Przeglądaj lub upuść pliki do strefy upuszczania.
- Wybierz wolumin lub katalog lub wklej ścieżkę woluminu.
- Jeśli wolumin nie istnieje w schemacie docelowym, utwórz go.
- Możesz również utworzyć nowy katalog w woluminie docelowym.
Możesz również uzyskać dostęp do interfejsu użytkownika ładowania na następujące sposoby:
- Na pasku bocznym: Nowe>Dodaj dane>Przekaż pliki do woluminu
- Z notatnika: Plik>Przekazywanie plików do woluminu
Dalsze kroki
Po przekazaniu do woluminu można wykonać następujące czynności:
- Utwórz tabelę zarządzaną katalogu Unity na podstawie plików. Zobacz Tworzenie tabeli na podstawie danych w woluminie.
- Używanie plików w obciążeniach uczenia maszynowego i nauki o danych
- Konfigurowanie bibliotek klastra, bibliotek o zakresie notesu lub zależności zadań przy użyciu przekazanych plików
- Pozyskiwanie danych dla potoków inżynieryjnych przy użyciu modułu ładującego automatycznego lub COPY INTO
- Przetwarzanie plików za pomocą funkcji sztucznej inteligencji , takich jak
ai_parse_document - Konfigurowanie wyzwalaczy przybycia plików w zadaniach
- Przekazywanie dokumentów do użycia z usługą AgentBricks (na przykład scenariusze asystenta wiedzy)
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 przycisk 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:
- Na karcie Przegląd woluminu kliknij pozycję Utwórz katalog.
- Wprowadź nazwę katalogu.
- Kliknij pozycję Utwórz.
Pobieranie katalogu
Aby pobrać katalog w woluminie, wykonaj następujące czynności:
- Kliknij
menu kebab po prawej stronie katalogu.
- Kliknij pozycję Pobierz katalog.
Katalog jest pobierany jako plik ZIP.
Usuwanie katalogów z woluminu
Aby usunąć katalogi z woluminu, wykonaj następujące czynności:
- Wybierz co najmniej jeden katalog.
- Kliknij przycisk Usuń.
- Kliknij przycisk Usuń , aby potwierdzić w wyświetlonym oknie dialogowym.
Zadania zarządzania plikami interfejsu użytkownika dla woluminów
Kliknij obok nazwy pliku, aby wykonać następujące akcje:
- Kopiuj ścieżkę
- Pobieranie pliku
- 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 / Notatka
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.
Programistyczna obsługa plików na woluminach
Odczytywaj i zapisuj pliki w woluminach we wszystkich obsługiwanych językach programowania i edytorach przestrzeni roboczej, korzystając z poniższego 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 / Notatka
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
Użyj 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)
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`
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.fspodrzę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:
W notatnikach usługi Azure Databricks oraz w edytorze zapytań SQL jest obsługiwane tylko polecenie LIST. Inne polecenia SQL (PUT INTO, GETi REMOVE) są dostępne za pośrednictwem następujących łączników i sterowników SQL usługi Databricks, które obsługują zarządzanie plikami w woluminach:
- Łącznik SQL usługi Databricks dla języka Python
- Sterownik SQL usługi Databricks dla języka Go
- Sterownik SQL usługi Databricks dla Node.js
- Sterownik JDBC usługi Databricks
- Sterownik ODBC usługi Databricks
Zarządzanie plikami w woluminach za pomocą interfejsu wiersza polecenia usługi Databricks
Użyj podpolecenia w pliku databricks fs. Zobacz fs grupę poleceń.
Uwaga / Notatka
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 Manage files in Unity Catalog volumes.
Zarządzaj plikami w woluminach przy użyciu interfejsu REST API
Użyj interfejsu API plików 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}"
Ograniczenia pracy z plikami w woluminach
Przed rozpoczęciem pracy z plikami w woluminach należy wziąć pod uwagę następujące ograniczenia:
Zapisy bezpośrednie lub niesekwencyjne (losowe) nie są obsługiwane. Ma to wpływ na operacje, takie jak zapisywanie plików Zip i Excel. W przypadku tych obciążeń:
- Najpierw wykonaj operacje na dysku lokalnym
- Skopiuj wyniki do woluminu
Przykład:
# python import xlsxwriter from shutil import copyfile workbook = xlsxwriter.Workbook('/local_disk0/tmp/excel.xlsx') worksheet = workbook.add_worksheet() worksheet.write(0, 0, "Key") worksheet.write(0, 1, "Value") workbook.close() copyfile('/local_disk0/tmp/excel.xlsx', '/Volumes/my_catalog/my_schema/my_volume/excel.xlsx')Pliki rzadkie nie są obsługiwane. Aby skopiować pliki rzadkie, użyj
cp --sparse=never:$ cp sparse.file /Volumes/my_catalog/my_schema/my_volume/sparse.file error writing '/dbfs/sparse.file': Operation not supported $ cp --sparse=never sparse.file /Volumes/my_catalog/my_schema/my_volume/sparse.file