Udostępnij za pośrednictwem


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:

  1. W obszarze roboczym usługi Azure Databricks kliknij ikonę katalogu Catalog.
  2. 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:

  1. Wybierz co najmniej jeden plik.
  2. 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:

  1. Wybierz co najmniej jeden plik.
  2. Kliknij Usuń.
  3. 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:

  1. Kliknij ikonę Menu Kebab z prawej strony nazwy woluminu.
  2. Wybierz opcję Utwórz katalog.
  3. Wprowadź nazwę katalogu.
  4. Kliknij pozycję Utwórz.

Usuwanie katalogów z woluminu

Aby usunąć katalogi z woluminu, wykonaj następujące czynności:

  1. Wybierz co najmniej jeden katalog.
  2. Kliknij Usuń.
  3. Kliknij przycisk Usuń , aby potwierdzić w wyświetlonym oknie dialogowym.

Zadania zarządzania plikami interfejsu użytkownika dla woluminów

Kliknij menu Menu Kebab 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.

  1. Wybierz co najmniej jeden plik lub katalog. Pliki powinny mieć ten sam układ danych.

  2. Kliknij pozycję Utwórz tabelę. Zostanie wyświetlone okno dialogowe Tworzenie tabeli z woluminów.

  3. 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.

  4. 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 elementu dbutils.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:

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:

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