Uaktualnianie obszaru roboczego do wykazu aparatu Unity za pomocą narzędzi UCX
W tym artykule przedstawiono UCX , projekt usługi Databricks Labs, który udostępnia narzędzia ułatwiające uaktualnienie obszaru roboczego innego niż Unity-Catalog do wykazu aparatu Unity.
Uwaga
Interfejs UCX, podobnie jak wszystkie projekty na koncie usługi Databrickslabs GitHub, jest udostępniany tylko do eksploracji i nie jest formalnie obsługiwany przez usługę Databricks z umowami dotyczącymi poziomu usług (SLA). Jest on dostarczany zgodnie z rzeczywistymi funkcjami. Nie gwarantujemy żadnego rodzaju. Nie przesyłaj biletu pomocy technicznej usługi Databricks dotyczącego problemów, które wynikają z korzystania z tego projektu. Zamiast tego zgłoś problem z usługą GitHub. Problemy zostaną poddane przeglądowi jako zezwolenia na czas, ale nie ma formalnych umów SLA dotyczących pomocy technicznej.
Projekt UCX udostępnia następujące narzędzia i przepływy pracy migracji:
- Przepływ pracy oceny ułatwia zaplanowanie migracji.
- Przepływ pracy migracji grup, który ułatwia uaktualnianie członkostwa w grupie z obszaru roboczego do konta usługi Databricks i migrowanie uprawnień do nowych grup na poziomie konta.
- Przepływ pracy migracji tabel ułatwia uaktualnianie tabel zarejestrowanych w magazynie metadanych Hive obszaru roboczego do magazynu metadanych wykazu aparatu Unity. Ten przepływ pracy pomaga również migrować lokalizacje magazynu i poświadczenia wymagane do uzyskania do nich dostępu.
Na tym diagramie przedstawiono ogólny przepływ migracji, identyfikując przepływy pracy migracji i narzędzia według nazwy:
Uwaga
Przepływ pracy migracji kodu przedstawiony na diagramie pozostaje w fazie projektowania i nie jest jeszcze dostępny.
Zanim rozpoczniesz
Przed zainstalowaniem interfejsu UCX i uruchomieniem przepływów pracy UCX środowisko musi spełniać następujące wymagania.
Pakiety zainstalowane na komputerze, na którym jest uruchamiany program UCX:
Interfejs wiersza polecenia usługi Databricks w wersji 0.213 lub nowszej. Zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks.
Musisz mieć plik konfiguracji usługi Databricks z profilami konfiguracji zarówno dla obszaru roboczego, jak i konta usługi Databricks.
Środowisko Python w wersji 3.10 lub nowszej.
Jeśli chcesz uruchomić przepływ pracy UCX, który identyfikuje lokalizacje magazynu używane przez tabele programu Hive w obszarze roboczym (zalecane, ale nie jest to wymagane), musisz mieć interfejs wiersza polecenia dla dostawcy magazynu w chmurze (interfejs wiersza polecenia platformy Azure lub interfejs wiersza polecenia platformy AWS) zainstalowany na komputerze, na którym są uruchamiane przepływy pracy UCX.
Dostęp sieciowy:
- Dostęp sieciowy z komputera, na którym jest uruchamiana instalacja UCX, do obszaru roboczego usługi Azure Databricks, który jest migrowane.
- Dostęp sieciowy do Internetu z komputera z instalacją UCX. Jest to wymagane w celu uzyskania dostępu do pypi.org i github.com.
- Dostęp sieciowy z obszaru roboczego usługi Azure Databricks do pypi.org pobierania
databricks-sdk
pakietów ipyyaml
.
Role i uprawnienia usługi Databricks:
- Role administratora konta i administratora obszaru roboczego usługi Azure Databricks dla użytkownika, który uruchamia instalację UCX. Nie można uruchomić instalacji jako jednostki usługi.
Inne wymagania wstępne usługi Databricks:
Magazyn metadanych wykazu aparatu Unity utworzony dla każdego regionu, który hostuje obszar roboczy, który chcesz uaktualnić, z każdym z tych obszarów roboczych usługi Azure Databricks dołączonych do magazynu metadanych wykazu aparatu Unity.
Aby dowiedzieć się, czy masz już magazyn metadanych wykazu aparatu Unity w odpowiednich regionach obszaru roboczego, jak utworzyć magazyn metadanych, jeśli tego nie zrobisz, oraz jak dołączyć magazyn metadanych wykazu aparatu Unity do obszaru roboczego, zobacz Krok 1: Potwierdzanie włączenia obszaru roboczego dla wykazu aparatu Unity w artykule dotyczącym konfiguracji wykazu aparatu Unity. Alternatywnie interfejs UCX udostępnia narzędzie do przypisywania magazynów metadanych wykazu aparatu Unity do obszarów roboczych , których można użyć po zainstalowaniu interfejsu UCX.
Dołączanie magazynu metadanych wykazu aparatu Unity do obszaru roboczego umożliwia również federację tożsamości, w której można centralizować zarządzanie użytkownikami na poziomie konta usługi Azure Databricks, co jest również wymaganiem wstępnym do korzystania z interfejsu UCX. Zobacz Włączanie federacji tożsamości.
Jeśli obszar roboczy używa zewnętrznego magazynu metadanych Hive (takiego jak AWS Glue) zamiast domyślnego magazynu metadanych Hive w obszarze roboczym lokalnym, należy wykonać pewne wymagania wstępne. Zobacz Integracja zewnętrznego magazynu metadanych Hive w repozytorium databrickslabs/ucx.
Usługa SQL Warehouse pro lub bezserwerowa uruchomiona w obszarze roboczym, w którym są uruchamiane przepływy pracy UCX, wymagane do renderowania raportu wygenerowanego przez przepływ pracy oceny.
Instalowanie interfejsu UCX
Aby zainstalować interfejs UCX, użyj interfejsu wiersza polecenia usługi Databricks:
databricks labs install ucx
Zostanie wyświetlony monit o wybranie następujących elementów:
Profil konfiguracji usługi Databricks dla obszaru roboczego, który chcesz uaktualnić. Plik konfiguracji musi również zawierać profil konfiguracji nadrzędnego konta usługi Databricks obszaru roboczego.
Nazwa bazy danych spisu, która będzie używana do przechowywania danych wyjściowych przepływów pracy migracji. Zazwyczaj warto wybrać wartość domyślną, czyli
ucx
.Usługa SQL Warehouse do uruchomienia procesu instalacji.
Lista grup lokalnych obszaru roboczego, które chcesz migrować do grup na poziomie konta. Jeśli pozostawisz to jako domyślną (
<ALL>
), dowolną istniejącą grupę na poziomie konta, której nazwa jest zgodna z grupą lokalną obszaru roboczego, będzie traktowana jako zastąpienie tej grupy lokalnej obszaru roboczego i będzie dziedziczyć wszystkie jej uprawnienia obszaru roboczego po uruchomieniu przepływu pracy migracji grupy po instalacji.Po uruchomieniu instalatora i przed uruchomieniem migracji grup można zmodyfikować mapowanie obszaru roboczego-grupy-grupy-grupy-grupy. Zobacz Rozwiązywanie konfliktów nazw grup w repozytorium UCX.
Jeśli masz zewnętrzny magazyn metadanych Programu Hive, taki jak AWS Glue, możesz nawiązać z nim połączenie. Zobacz Integracja zewnętrznego magazynu metadanych Hive w repozytorium databrickslabs/ucx.
Czy otworzyć wygenerowany notes README.
Po zakończeniu instalacji wdraża notes README, pulpity nawigacyjne, bazy danych, biblioteki, zadania i inne zasoby w obszarze roboczym.
Aby uzyskać więcej informacji, zobacz instrukcje instalacji w pliku readme projektu. Możesz również zainstalować interfejs UCX na wszystkich obszarach roboczych na koncie usługi Databricks.
Otwieranie notesu README
Każda instalacja tworzy notes README, który zawiera szczegółowy opis wszystkich przepływów pracy i zadań, z szybkimi linkami do przepływów pracy i pulpitów nawigacyjnych. Zobacz Notes Readme.
Krok 1. Uruchamianie przepływu pracy oceny
Przepływ pracy oceny ocenia zgodność wykazu unity tożsamości grup, lokalizacji magazynu, poświadczeń magazynu, kontroli dostępu i tabel w bieżącym obszarze roboczym oraz udostępnia informacje niezbędne do planowania migracji do wykazu aparatu Unity. Zadania w przepływie pracy oceny można wykonywać równolegle lub sekwencyjnie w zależności od określonych zależności. Po zakończeniu przepływu pracy oceny pulpit nawigacyjny oceny zostanie wypełniony wynikami i typowymi zaleceniami.
Dane wyjściowe każdego zadania przepływu pracy są przechowywane w tabelach delty w $inventory_database
schemacie określonym podczas instalacji. Te tabele umożliwiają przeprowadzenie dalszej analizy i podejmowania decyzji przy użyciu raportu oceny. Przepływ pracy oceny można uruchomić wiele razy, aby upewnić się, że wszystkie niezgodne jednostki są identyfikowane i uwzględniane przed rozpoczęciem procesu migracji.
Przepływ pracy oceny można wyzwolić z notesu README wygenerowanego przez interfejs użytkownika UCX i interfejsu użytkownika usługi Azure Databricks (zadania przepływów >> pracy [UCX] Assessment) lub uruchomić następujące polecenie interfejsu wiersza polecenia usługi Databricks:
databricks labs ucx ensure-assessment-run
Aby uzyskać szczegółowe instrukcje, zobacz Przepływ pracy oceny.
Krok 2. Uruchamianie przepływu pracy migracji grup
Przepływ pracy migracji grup uaktualnia grupy obszarów roboczych do grup na poziomie konta w celu obsługi wykazu aparatu Unity. Gwarantuje to, że odpowiednie grupy na poziomie konta są dostępne w obszarze roboczym i replikują wszystkie uprawnienia. Usuwa również wszystkie niepotrzebne grupy i uprawnienia z obszaru roboczego. Zadania w przepływie pracy migracji grupy zależą od danych wyjściowych przepływu pracy oceny.
Dane wyjściowe każdego zadania przepływu pracy są przechowywane w tabelach delty w $inventory_database
schemacie określonym podczas instalacji. Te tabele umożliwiają przeprowadzenie dalszej analizy i podejmowania decyzji. Przepływ pracy migracji grup można uruchomić wiele razy, aby upewnić się, że wszystkie grupy zostały pomyślnie uaktualnione i że przypisano wszystkie niezbędne uprawnienia.
Aby uzyskać informacje na temat uruchamiania przepływu pracy migracji grup, zobacz przepływ pracy migracji readme wygenerowany przez UCX i migracji grup w pliku readme UCX.
Krok 3. Uruchamianie przepływu pracy migracji tabel
Przepływ pracy migracji tabel uaktualnia tabele z magazynu metadanych Programu Hive do magazynu metadanych wykazu aparatu Unity. Tabele zewnętrzne w magazynie metadanych Hive są uaktualniane jako tabele zewnętrzne w katalogu aparatu Unity przy użyciu funkcji SYNC. Zarządzane tabele w magazynie metadanych Programu Hive, które są przechowywane w magazynie obszarów roboczych (nazywanym również głównym systemem plików DBFS), są uaktualniane jako tabele zarządzane w wykazie aparatu Unity przy użyciu funkcji DEEP CLONE.
Aby uaktualnić tabele zarządzane przez program Hive, muszą być w formacie delta lub Parquet. Zewnętrzne tabele programu Hive muszą być w jednym z formatów danych wymienionych w temacie Praca z tabelami zewnętrznymi.
Uruchamianie poleceń przygotowawczych
Migracja tabel obejmuje szereg zadań przygotowawczych uruchamianych przed uruchomieniem przepływu pracy migracji tabel. Te zadania są wykonywane przy użyciu następujących poleceń interfejsu wiersza polecenia usługi Databricks:
- Polecenie
create-table-mapping
, które tworzy plik CSV mapujący docelowy katalog aparatu Unity, schemat i tabelę na każdą tabelę programu Hive, która zostanie uaktualniona. Przed kontynuowaniem przepływu pracy migracji należy przejrzeć i zaktualizować plik mapowania. - Polecenie
create-uber-principal
, które tworzy jednostkę usługi z dostępem tylko do odczytu do wszystkich magazynów używanych przez tabele w tym obszarze roboczym. Zasób obliczeniowy zadania przepływu pracy używa tego podmiotu zabezpieczeń do uaktualniania tabel w obszarze roboczym. Anulowanie aprowizacji tej jednostki usługi po zakończeniu uaktualniania. - (Opcjonalnie) Polecenie
principal-prefix-access
, które identyfikuje konta magazynu i poświadczenia dostępu do magazynu używane przez tabele programu Hive w obszarze roboczym. - (Opcjonalnie) Polecenie
migrate-credentials
, które tworzy poświadczenia magazynu wykazu aparatu Unity na podstawie poświadczeń dostępu do magazynu zidentyfikowanych przezprincipal-prefix-access
program . - (Opcjonalnie) Polecenie
migration locations
, które tworzy lokalizacje zewnętrzne wykazu aparatu Unity z lokalizacji magazynu zidentyfikowanych przez przepływ pracy oceny przy użyciu poświadczeń magazynu utworzonych przezmigrate-credentials
program . - (Opcjonalnie) Polecenie
create-catalogs-schemas
, które tworzy wykazy i schematy aparatu Unity, które będą przechowywać uaktualnione tabele.
Aby uzyskać szczegółowe informacje, w tym dodatkowe polecenia i opcje przepływu pracy migracji tabel, zobacz Polecenia migracji tabel w pliku readme UCX.
Uruchamianie migracji tabeli
Po uruchomieniu zadań przygotowawczych możesz uruchomić przepływ pracy migracji tabel z poziomu notesu README wygenerowanego przez interfejs użytkownika UCX lub zadań przepływów > pracy w interfejsie użytkownika obszaru roboczego.
Dane wyjściowe każdego zadania przepływu pracy są przechowywane w tabelach delty w $inventory_database
schemacie określonym podczas instalacji. Te tabele umożliwiają przeprowadzenie dalszej analizy i podejmowania decyzji. Może być konieczne wielokrotne uruchomienie przepływu pracy migracji tabel, aby upewnić się, że wszystkie tabele zostały pomyślnie uaktualnione.
Aby uzyskać pełne instrukcje dotyczące migracji tabel, zobacz notes README wygenerowany przez UCX i przepływ pracy migracji tabel w pliku readme UCX.
Dodatkowe narzędzia
UCX obejmuje również:
Narzędzia umożliwiające federację magazynu Hive metastore , narzędzie integracji usługi Azure Databricks, które umożliwia Unity Catalog zarządzanie tabelami, które są zarejestrowane w magazynie metadanych Hive:
enable-hms-federation
create-federated-catalog
Federacja magazynu metadanych Hive pomaga w migracji, umożliwiając jednoczesne uruchamianie obciążeń zarówno w starszym magazynie metadanych Hive, jak i jego replikacie w katalogu Unity, ułatwiając przejście do katalogu Unity. Aby uzyskać więcej informacji na temat używania federacji magazynu metadanych Hive w scenariuszu migracji, zobacz Jak używać federacji magazynu metadanych Hive w trakcie migracji do Unity Catalog?.
Narzędzia do debugowania i inne narzędzia ułatwiające pomyślne rozwiązanie migracji.
Aby uzyskać więcej informacji, zobacz notes README wygenerowany przez UCX i plik readme projektu UCX.
Uaktualnianie instalacji UCX
Projekt UCX jest regularnie aktualizowany. Aby uaktualnić instalację UCX do najnowszej wersji:
Sprawdź, czy zainstalowano interfejs UCX.
databricks labs installed Name Description Version ucx Unity Catalog Migration Toolkit (UCX) 0.20.0
Uruchom uaktualnienie:
databricks labs upgrade ucx
Uzyskaj pomoc
Aby uzyskać pomoc dotyczącą interfejsu wiersza polecenia UCX, uruchom polecenie:
databricks labs ucx --help
Aby uzyskać pomoc dotyczącą określonego polecenia UCX, uruchom polecenie:
databricks labs ucx <command> --help
Aby rozwiązać problemy:
- Uruchom polecenie
--debug
z dowolnym poleceniem, aby włączyć dzienniki debugowania. - Użyj notesu debugowania generowanego automatycznie przez interfejs UCX.
Aby zgłosić problem lub żądanie funkcji, zgłoś problem z usługą GitHub.
Informacje o wersji UCX
Zobacz dziennik zmian w repozytorium GitHub UCX.