Udostępnij za pośrednictwem


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:

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Ikona wykazu Wykaz.
  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 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.

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 pozycję 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
  • 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.

  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 na podstawie woluminów .

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

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

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