Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta strona zawiera omówienie sposobu aktualizacji obszaru roboczego niewykorzystującego Unity Catalog na Unity Catalog. Zawiera również instrukcje dotyczące migrowania z przestarzałego magazynu metadanych Hive, systemu plików DBFS oraz nieobsługiwanych wersji Databricks Runtime.
Omówienie kroków uaktualniania
Aby przeprowadzić uaktualnienie do Unity Catalog, musisz:
- Aprowizuj tożsamości (użytkowników, grupy i jednostki usługi) bezpośrednio na koncie usługi Azure Databricks, jeśli jeszcze tego nie zrobisz. Wyłącz udostępnianie tożsamości na poziomie obszaru roboczego.
- Przekonwertuj wszystkie grupy obszarów roboczych na grupy na poziomie konta. Usługa Unity Catalog centralizuje zarządzanie tożsamościami na poziomie całego konta.
- Dołącz przestrzeń roboczą do Unity Catalog metastore. Jeśli dla regionu obszaru roboczego nie istnieje żaden magazyn metadanych, administrator konta musi go utworzyć.
- Uaktualnij tabele i widoki zarządzane w metastore Hive do Unity Catalog.
- Udziel użytkownikom, grupom lub jednostkom usługi dostępu na poziomie konta do uaktualnionych tabel.
- Zaktualizuj zapytania i zadania, aby odwoływać się do nowych tabel Unity Catalog zamiast starych tabel Hive metastore.
- Migrowanie plików, notesów i skryptów z systemu plików DBFS.
- Uaktualnij aktywne zasoby obliczeniowe do obsługiwanych wersji środowiska Databricks Runtime.
- Wyłącz dostęp do starszych funkcji w obszarach roboczych. Zobacz Wyłączanie dostępu do starszych funkcji w obszarach roboczych.
UCX, projekt Databricks Labs, udostępnia narzędzia, które ułatwiają uaktualnienie obszaru roboczego niekorzystającego z Unity Catalog do Unity Catalog. UCX to dobry wybór w przypadku migracji na większą skalę. Zobacz Użyj narzędzi UCX, aby uaktualnić swój obszar roboczy do Unity Catalog.
Przed rozpoczęciem
Przed rozpoczęciem zapoznaj się z podstawowymi pojęciami dotyczącymi katalogu Unity Catalog, w tym magazynami metadanych i magazynem zarządzanym. Zobacz Co to jest Unity Catalog?.
Należy również potwierdzić, że spełniasz następujące wymagania:
W przypadku większości kroków konfiguracji musisz być administratorem konta usługi Azure Databricks. W przypadku każdego zadania, które jest zgodne z innymi wymaganiami dotyczącymi uprawnień, są one wymienione w dokumentacji specyficznej dla zadania.
Pierwszym administratorem konta usługi Azure Databricks musi być globalny administrator Microsoft Entra ID podczas pierwszego zalogowania się do konsoli konta usługi Azure Databricks. Po pierwszym zalogowaniu użytkownik staje się administratorem konta usługi Azure Databricks i nie potrzebuje już roli administratora globalnego microsoft Entra ID, aby uzyskać dostęp do konta usługi Azure Databricks. Pierwszy administrator konta może przypisać użytkowników dzierżawy Microsoft Entra ID do roli dodatkowych administratorów kont, którzy sami mogą przypisywać kolejnych administratorów kont. Dodatkowi administratorzy kont nie wymagają określonych ról w identyfikatorze Entra firmy Microsoft.
Obszary robocze dołączane do magazynu metadanych muszą znajdować się w planie usługi Azure Databricks Premium.
Uaktualnij do demonstracji Unity Catalog
Obejrzyj następujące krótkie pokazy instruktażowe, aby zobaczyć kluczowe zadania uaktualniania w praktyce. W każdym pokazie opisano konkretny krok i linki do szczegółowej dokumentacji, jeśli ma to zastosowanie.
- Konwertowanie grup lokalnych obszaru roboczego na grupy na poziomie konta
- Zaktualizuj tabele w magazynie metadanych Hive do tabel Unity Catalog
- Aktualizacja obliczeń dla Unity Catalog
- Aktualizowanie zapytań i zadań w celu pracy z uaktualnionymi tabelami
Alternatywnie możesz skorzystać z pokazu Use UCX to upgrade to Unity Catalog (Używanie interfejsu UCX do uaktualnienia do wykazu aparatu Unity).
Dostarcz użytkowników, grupy i główne elementy usługi do swojego konta
Katalog Unity odnosi się do tożsamości na poziomie konta. Przed dołączeniem magazynu metadanych do obszaru roboczego należy wykonać następujące czynności:
Jeśli używasz rozwiązania SCIM do aprowizowania użytkowników, grup i jednostek usługi z dostawcy tożsamości do obszaru roboczego, wyłącz go i skonfiguruj aprowizację na koncie usługi Azure Databricks. Zobacz Synchronizowanie tożsamości z dostawcą tożsamości i Tożsamości.
Zaktualizuj wszystkie automatyzacje skonfigurowane do zarządzania użytkownikami, grupami i podmiotami usługi, takimi jak łączniki aprowizacji SCIM i automatyzacja Terraform, aby odwoływały się do punktów końcowych konta zamiast punktów końcowych obszaru roboczego. Zobacz Aprowizowanie SCIM na poziomie konta i poziomie obszaru roboczego.
Przekształcanie grup lokalnych środowiska roboczego na grupy na poziomie konta użytkownika
Zobacz Migrowanie grup lokalnych w przestrzeni roboczej do grup kont.
Dołączanie obszaru roboczego do magazynu metadanych
Jeśli obszar roboczy nie jest włączony do Unity Catalog (związany z metasklepem), następny krok zależy od tego, czy masz już zdefiniowany metasklep Unity Catalog dla regionu obszaru roboczego:
- Jeśli twoje konto ma już zdefiniowany katalog Unity dla regionu obszaru roboczego, możesz po prostu dołączyć obszar roboczy do istniejącego katalogu. Przejdź do Włącz obszar roboczy dla Unity Catalog.
- Jeśli nie ma magazynu Unity Catalog zdefiniowanego dla regionu obszaru roboczego, musisz utworzyć magazyn, a następnie połączyć z obszarem roboczym. Przejdź do utworzenia metamagazynu Unity Catalog.
Zaktualizuj tabele w metastore Hive do tabel Unity Catalog
Jeśli obszar roboczy był w użyciu, zanim włączono dla niego Unity Catalog, to posiada on metastore Hive, który prawdopodobnie zawiera dane, z których chcesz nadal korzystać. Databricks zaleca uaktualnienie tabel zarządzanych przez magazyn metadanych Hive do magazynu metadanych Unity Catalog.
Opcja 1: Najpierw federowanie, a potem zmodernizowanie tabel obcych
Zalecaną metodą jest najpierw połączenie repozytorium metadanych Hive jako katalogu zewnętrznego, a następnie zaktualizowanie zewnętrznych tabel. Ten dwuetapowy proces umożliwia migrowanie tabel bez przenoszenia danych przy zachowaniu historii tabeli, konfiguracji, uprawnień i widoków.
Najpierw sfederuj magazyn metadanych Hive jako zewnętrzny katalog w Unity Catalog. Dzięki temu można uzyskać dostęp do istniejących tabel za pośrednictwem Unity Catalog i przygotować je do aktualizacji.
Aby uzyskać instrukcje dotyczące federowania magazynu metadanych Hive, zobacz Federacja magazynu metadanych Hive: włącz Unity Catalog, aby zarządzać tabelami zarejestrowanymi w magazynie metadanych Hive.
Uwaga / Notatka
Jeśli zdecydujesz się nie uaktualnić tabel i chcesz kontynuować pracę z wykazem federacyjnym na stałe, możesz to zrobić. Jednak Databricks zaleca zakończenie procesu aktualizacji, aby w pełni korzystać z funkcji Unity Catalog.
Po federacji magazynu metadanych Hive można zaktualizować tabele zewnętrzne do tabel Unity Catalog bez przenoszenia danych. Ten przepływ pracy uaktualnia tabele, zachowując historię tabel, konfigurację, uprawnienia i widoki.
Aby uaktualnić tabelę zewnętrzną do tabeli zarządzanej przez Unity Catalog, uruchom następujące polecenie:
ALTER TABLE <foreign_catalog>.<schema>.<table_name> SET MANAGED;
Usługa Databricks zaleca uaktualnienie tabeli do wersji zarządzanej w celu odblokowania optymalizacji predykcyjnej Unity Catalog, w tym automatyczną konserwację: kompaktowanie, klastrowanie i czyszczenie oraz ulepszenia wydajności. Aby uaktualnić tabelę zewnętrzną do tabeli zewnętrznej w Katalogu Jedności, uruchom następujące polecenie:
ALTER TABLE <foreign_catalog>.<schema>.<table_name> SET EXTERNAL;
Po migracji tabel i zaprzestaniu korzystania z federacji z wykazem zewnętrznym można usunąć połączenie:
ALTER CATALOG <foreign_catalog> DROP CONNECTION;
Aby uzyskać więcej informacji na temat tego przepływu pracy, zobacz Konwertowanie tabeli zewnętrznej na tabelę zarządzaną w katalogu Unity.
Opcja 2. Bezpośrednie uaktualnianie tabel
Jeśli nie chcesz używać procedury uaktualniania opartej na federacji, możesz uaktualnić tabele bezpośrednio przy użyciu polecenia SYNC lub CREATE TABLE AS SELECT. Zobacz Uaktualnianie tabel i widoków Hive do Unity Catalog.
Udzielanie dostępu do uaktualnionych lub federacyjnych tabel
Zapewnij użytkownikom, grupom lub jednostkom usługi na poziomie konta dostęp do nowych tabel. Zobacz Zarządzanie uprawnieniami w Unity Catalog.
Aktualizowanie zapytań i zadań w celu pracy z uaktualnionymi tabelami i ścieżkami do danych
Podczas przechodzenia z lokalnego magazynu metadanych Hive obszaru roboczego do wykazu aparatu Unity można nadal używać zapytań i zadań odwołujących się do danych zarejestrowanych w magazynie metadanych Hive, używając federacji magazynu metadanych Hive (zalecane) lub składni opisanej w temacie Praca ze starszym magazynem metadanych Hive wraz z wykazem aparatu Unity. Jednak ostatecznie należy zaktualizować wszystkie zapytania i zadania, aby używać tabel i składni Unity Catalog.
Podobnie zaktualizuj zapytania i zadania, które używają dostępu opartego na ścieżkach do plików, aby zamiast tego używać woluminów Unity Catalog.
Aby uzyskać szczegółowe zalecenia, zobacz Aktualizowanie zadań podczas uaktualniania starszych obszarów roboczych do Unity Catalog.
Wyłączanie dostępu do systemu plików DBFS
W ramach migracji Katalogu Unity usługa Databricks zaleca wyłączenie dostępu do DBFS w przestrzeniach roboczych. Gwarantuje to, że wszystkie dane i przepływy pracy są zarządzane przez Unity Catalog i można w pełni korzystać z jego funkcji.
Możesz użyć skryptów skanera DBFS firmy Databricks Labs do skanowania bieżącego użycia systemu plików DBFS i zdecydować, czy zarejestrować zasób na miejscu (przy użyciu lokalizacji zewnętrznej), przeprowadzić migrację do Unity Catalog, lub zarchiwizować, jeśli nie jest już potrzebny. Databricks Labs to publiczne repozytorium GitHub, które nie jest obsługiwane bezpośrednio przez usługę Databricks.
W poniższych sekcjach opisano, jak migrować różne zasoby z DBFS do katalogu Unity Catalog.
Migrowanie plików przechowywanych w systemie plików DBFS
Jeśli masz nieprzetworzone pliki, takie jak Parquet, CSV, JSON lub obrazy przechowywane w katalogu głównym DBFS (na przykład w ramach /FileStore lub innych katalogów głównych DBFS) lub w magazynie w chmurze zainstalowanym w DBFS (w obszarze /mnt/...), przeprowadź ich migrację za pomocą woluminów Katalogu Unity i uzyskaj do nich dostęp przy użyciu lokalizacji zewnętrznych.
W poniższych krokach opisano sposób migracji plików z systemu plików DBFS do woluminów Unity Catalog. Aby uzyskać więcej informacji o tym, kiedy używać woluminów i plików obszaru roboczego, zobacz Zalecenia dotyczące plików w woluminach i plikach obszaru roboczego.
Krok 1. Konfigurowanie lokalizacji zewnętrznej
Aby zarejestrować zasoby w Unity Catalog, skonfiguruj zewnętrzną lokalizację Unity Catalog dla kontenera magazynu w chmurze lub ścieżki, w której pliki obecnie się znajdują. Można to zrobić przy użyciu Eksploratora wykazu, poleceń SQL, narzędzia Terraform lub interfejsu wiersza polecenia usługi Azure Databricks.
Aby uzyskać szczegółowe instrukcje, zobacz Połącz się z magazynem obiektów w chmurze przy użyciu Unity Catalog.
Krok 2. Tworzenie woluminu
Woluminy Unity Catalog zapewniają ujęty w ramy zarządzania sposób organizowania plików. Usługa Databricks zaleca używanie woluminów do zarządzania wszystkimi danymi nie tabelarycznymi. Wolumin zewnętrzny można utworzyć w schemacie odwołującym się do ścieżki podrzędnej lokalizacji zewnętrznej. Przykład:
USE CATALOG main;
USE SCHEMA data;
CREATE VOLUME IF NOT EXISTS raw_files
LOCATION 'my_data_loc/csv-files/';
Wszystkie pliki w tej ścieżce są teraz dostępne za pośrednictwem lokalizacji zewnętrznej i podlegają uprawnieniom katalogu Unity.
Aby uzyskać więcej informacji, zobacz Co to są woluminy katalogu Unity?.
Krok 3. Kopiowanie plików z katalogu głównego systemu plików DBFS
Jeśli pliki były wcześniej przechowywane w katalogu głównym systemu plików DBFS, skopiuj je do ścieżki magazynu w chmurze. Na przykład w notesie:
dbutils.fs.cp(
"dbfs:/FileStore/tables/data.csv",
"/Volumes/main/data/raw_files/data.csv"
)
Wskazówka
Jeśli masz dużą liczbę plików lub plików większych niż kilka GB, rozważ użycie interfejsu wiersza polecenia usługi Azure Databricks lub kopii rozproszonej przy użyciu platformy Apache Spark w celu zrównoleglenia przenoszenia.
Polecenie interfejsu wiersza polecenia fs cp usługi Azure Databricks może cyklicznie kopiować katalogi.
Krok 4. Weryfikowanie migrowanych plików
Po przeprowadzeniu migracji wyświetl listę i odczytaj pliki z woluminów przy użyciu standardowych poleceń:
# List files in the volume
dbutils.fs.ls("/Volumes/main/data/raw_files/")
# Read a CSV file into a DataFrame
df = spark.read.option("header", True).csv(
"/Volumes/main/data/raw_files/2024-01-01-data.csv"
)
Ten kod wymaga odpowiednich uprawnień katalogu Unity na woluminie lub w lokalizacji zewnętrznej oraz zasobu obliczeniowego obsługującego katalog Unity. Katalog Unity wymaga, aby użytkownik odczytujący plik miał READ uprawnienia do woluminu lub lokalizacji zewnętrznej.
Krok 5. Czyszczenie instalacji systemu plików DBFS
Po sprawdzeniu, czy pliki w nowej lokalizacji są dostępne, odinstaluj stare punkty instalacji systemu plików DBFS, aby zapobiec nieporozumieniu lub przypadkowemu użyciu:
dbutils.fs.unmount("/mnt/oldpath")
Rozważ zablokowanie lub usunięcie danych w katalogu głównym systemu plików DBFS, jeśli zostały przeniesione, ponieważ pozostawienie kopii może prowadzić do niespójnych aktualizacji lub zagrożeń bezpieczeństwa.
Migrowanie zasobów obszaru roboczego z systemu plików DBFS
Niektóre obszary robocze mają notesy, pliki kodu lub skrypty referencyjne przechowywane w systemie plików DBFS. Mogą to być:
- Notesy zapisane jako pliki HTML lub DBC w programie
/FileStorena potrzeby udostępniania - Skrypty języka Python lub pliki JAR używane w zadaniach usługi Azure Databricks
- Skrypty inicjowania o zakresie obliczeniowym (na przykład
dbfs:/databricks/init/...)
Notesy i kod powinny być przechowywane jako pliki obszaru roboczego lub w folderach Git, a nie w systemie plików DBFS. System plików DBFS nie zapewnia kontroli dostępu dla każdego pliku i nie powinien być używany dla kodu źródłowego ani notesów.
- Notesy: jeśli masz notesy jako pliki w systemie plików DBFS, zaimportuj je do obszaru roboczego usługi Azure Databricks. Można to zrobić ręcznie przy użyciu funkcji importowania w interfejsie użytkownika lub interfejsie wiersza polecenia. Upewnij się, że uprawnienia notesu w obszarze roboczym są odpowiednio ustawione dla dostępu dla zespołu. W przyszłości zapisz notesy jako obiekty obszaru roboczego lub w folderach Git i użyj usługi Git do kontroli wersji.
-
Skrypty zadań: Jeśli zadania są skonfigurowane do uruchamiania skryptu języka Python z DBFS (na przykład zadania z typem "Skrypt języka Python" odwołującym się do
dbfs:/mnt/scripts/my_etl.py), przenieś te skrypty do plików przestrzeni roboczej. Zarządzaj nimi w folderze Git na potrzeby kontroli wersji i śledzenia zmian. - Tworzenie artefaktów i bibliotek: zasoby, takie jak pliki JAR i koła języka Python, powinny być przechowywane w woluminach wykazu aparatu Unity.
- Skrypty inicjowania o zakresie obliczeniowym: Skrypty inicjowania o zakresie obliczeniowym powinny być przechowywane w woluminach Unity Catalog. Zobacz Czym są skrypty init?.
Lokalizowanie i migrowanie zasobów obliczeniowych do obsługiwanych wersji środowiska Databricks Runtime i trybów dostępu
Uwaga / Notatka
Ta sekcja zawiera zapytania, które uzyskują dostęp do system.compute.clusters tabeli. Aby uzyskać dostęp do tej tabeli systemowej, musisz być administratorem konta Azure Databricks lub mieć nadane uprawnienia USE i SELECT w schemacie systemu compute. Zobacz Udzielanie dostępu do tabel systemowych.
W ramach migracji Unity Catalog firma Databricks zaleca uaktualnienie całego środowiska komputacji i zadań do środowiska Databricks Runtime 13.3 LTS lub nowszego oraz używanie trybów dostępu Unity Catalog.
Aby ręcznie przejrzeć zasoby obliczeniowe w obszarze roboczym, przejdź do strony Obliczenia obszaru roboczego. W sekcji Obliczenia ogólnego przeznaczenia zapoznaj się z wersją środowiska Databricks Runtime każdego zasobu obliczeniowego. Sortuj lub filtruj według wersji, aby zidentyfikować klastry działające poniżej wersji 13.3 LTS. Powtórz dla sekcji Job compute, ponieważ zadania można skonfigurować tak, aby korzystały z określonej wersji środowiska Databricks Runtime.
Aby programowo znaleźć wersje obliczeń uruchomionych poniżej 13.3 LTS, wykonaj zapytanie do tabeli system.compute.clusters. Przykład:
SELECT
workspace_id,
cluster_id,
dbr_version
FROM system.compute.clusters
WHERE
TRY_CAST(SPLIT(dbr_version, '\\.')[0] AS INT) < 13
OR (
TRY_CAST(SPLIT(dbr_version, '\\.')[0] AS INT) = 13
AND TRY_CAST(SPLIT(dbr_version, '\\.')[1] AS INT) < 3
);
Spowoduje to zwrócenie listy zasobów obliczeniowych do ogólnych zastosowań oraz zasobów obliczeniowych zadań, które działają w wersjach niższych niż 13.3 LTS.
Uaktualnianie zasobów obliczeniowych do obsługiwanych trybów dostępu
Jeśli nadal masz uruchomione obliczenia w trybie dostępu współdzielonego bez izolacji, możesz uaktualnić je do obsługiwanych trybów dostępu. Zobacz tryby dostępu. Aby uzyskać informacje o obliczeniach uruchomionych w trybie bez izolacji dostępu współdzielonego, zapytaj tabelę system.compute.clusters. Przykład:
SELECT
workspace_id,
cluster_id,
dbr_version,
data_security_mode
FROM system.compute.clusters
WHERE data_security_mode IN ('NONE','NO_ISOLATION')
LIMIT 100;
Wyłącz dostęp do starszych funkcji w swoich obszarach roboczych
Po wykonaniu powyższych kroków migracji możesz wyłączyć dostęp do starszych funkcji w obszarach roboczych.
- Wyłącz katalog główny i instalację systemu plików DBFS: po przeprowadzeniu migracji wszystkich danych i przepływów pracy korzystających z katalogu głównego lub instalacji systemu plików DBFS oraz uaktualnieniu wszystkich zadań i klastrów do środowiska Databricks Runtime 13.3 LTS lub nowszego administratorzy obszarów roboczych mogą wyłączyć system plików DBFS w istniejących obszarach roboczych. Zobacz Wyłączanie dostępu do katalogu głównego systemu plików DBFS i instalacji w istniejącym obszarze roboczym usługi Azure Databricks.
- Wyłącz magazyn metadanych Hive: Po zakończeniu migracji do katalogu Unity Catalog lub sfederowaniu magazynu metadanych Hive jako katalogu zewnętrznego zarządzanego przez Unity Catalog, administratorzy przestrzeni roboczej mogą uniemożliwić użytkownikom pomijanie katalogu Unity Catalog i uzyskiwanie dostępu do tabel zarejestrowanych w magazynie metadanych Hive. Zobacz Wyłączanie dostępu do magazynu metadanych Hive używanego przez obszar roboczy usługi Azure Databricks.
- Wyłącz udostępnione zasoby obliczeniowe bez izolacji: aby uniemożliwić użytkownikom tworzenie nowych udostępnionych zasobów obliczeniowych bez izolacji, administratorzy obszarów roboczych mogą wyłączyć współużytkowane zasoby obliczeniowe bez izolacji w swoich obszarach roboczych. Zobacz Włącz ochronę administratora dla klastrów współdzielonych bez izolacji na Twoim koncie.