Uaktualnianie tabel i widoków programu Hive do wykazu aparatu Unity

W tym artykule opisano sposób uaktualniania tabel i widoków zarejestrowanych w istniejącym lokalnym magazynie metadanych Hive obszaru roboczego do wykazu aparatu Unity. Tabelę programu Hive można uaktualnić do tabeli zarządzanej lub tabeli zewnętrznej w wykazie aparatu Unity.

  • Tabele zarządzane to preferowany sposób tworzenia tabel w wykazie aparatu Unity. Wykaz aparatu Unity w pełni zarządza cyklem życia, układem plików i magazynem. Wykaz aparatu Unity optymalizuje również ich wydajność automatycznie. Tabele zarządzane zawsze używają formatu tabeli delty .

    Tabele zarządzane znajdują się w zarządzanej lokalizacji magazynu zarezerwowanej dla wykazu aparatu Unity. Ze względu na to wymaganie dotyczące magazynu należy użyć polecenia CLONE lub CREATE TABLE AS SELECT (CTAS), jeśli chcesz skopiować istniejące tabele programu Hive do wykazu unity jako tabel zarządzanych.

  • Tabele zewnętrzne to tabele , których cykl życia danych, układ plików i lokalizacja magazynu nie są zarządzane przez wykaz aparatu Unity. W przypadku tabel zewnętrznych obsługiwanych jest wiele formatów danych.

    Zazwyczaj tabele zewnętrzne są używane tylko wtedy, gdy potrzebujesz bezpośredniego dostępu do danych przy użyciu zasobów obliczeniowych spoza usługi Databricks (czyli nie przy użyciu klastrów usługi Databricks lub magazynów SQL usługi Databricks). Tabele zewnętrzne są również wygodne w scenariuszach migracji, ponieważ można szybko zarejestrować istniejące dane w wykazie aparatu Unity bez konieczności kopiowania tych danych. Wynika to z faktu, że dane w tabelach zewnętrznych nie muszą znajdować się w zarezerwowanym magazynie zarządzanym.

Aby uzyskać więcej informacji na temat tabel zarządzanych i zewnętrznych w wykazie aparatu Unity, zobacz Co to jest tabela?.

Opcje migracji wykazu programu Hive do aparatu Unity

Gdy wszystko będzie gotowe do migracji tabel programu Hive do wykazu aparatu Unity, masz kilka opcji, w zależności od przypadku użycia:

Narzędzie migracji opis Wymagania dotyczące tabeli Programu Hive Utworzono tabelę wykazu aparatu Unity Dlaczego należy go używać?
UCX Kompleksowy zestaw narzędzi wiersza polecenia i innych narzędzi, które oceniają gotowość obszaru roboczego do migracji wykazu aparatu Unity i wykonują przepływy pracy migrujące tożsamości, uprawnienia, lokalizacje magazynu i tabele do wykazu aparatu Unity. Interfejs UCX jest dostępny w witrynie GitHub na stronie databrickslabs/ucx. Zarządzane lub zewnętrzne tabele programu Hive Zarządzane lub zewnętrzne Potrzebujesz kompleksowego narzędzia do planowania uaktualniania obszaru roboczego, które wykracza poza uaktualnianie tabel programu Hive do wykazu aparatu Unity. Chcesz uaktualnić obszary robocze, które mają duże ilości danych w magazynie metadanych Hive. Wygodne jest uruchamianie skryptów. Jeśli chcesz przeprowadzić zbiorcze uaktualnienie tabel programu Hive do tabel zarządzanych przez wykaz aparatu Unity, jest to jedyna opcja. UCX, podobnie jak wszystkie projekty usługi Databricks Labs, jest publicznym repozytorium GitHub, które nie jest obsługiwane bezpośrednio przez usługę Databricks.
Kreator uaktualniania wykazu aparatu Unity Funkcja Eksploratora wykazu, która umożliwia zbiorcze kopiowanie całych schematów (baz danych) i wielu zarządzanych i zewnętrznych tabel z magazynu metadanych Hive do magazynu metadanych wykazu aparatu Unity jako tabel zewnętrznych. Kreator uaktualniania wykonuje SYNC polecenie w wybranych tabelach, pozostawiając oryginalne tabele Programu Hive bez zmian. Istnieje możliwość zaplanowannia regularnych uaktualnień w celu pobrania zmian w źródłowych tabelach programu Hive. Zarządzane lub zewnętrzne tabele programu Hive Tylko zewnętrzne Chcesz szybko uaktualnić tabele programu Hive do tabel zewnętrznych w katalogu aparatu Unity i wolisz interfejs wizualny. Możliwość zaplanowania regularnych synchronizacji w przypadku zmiany źródłowej tabeli Programu Hive sprawia, że jest to przydatne narzędzie do zarządzania obszarem roboczym "hybrydowym" programu Hive i wykazu aparatu Unity podczas przejścia do wykazu aparatu Unity.
POLECENIE SYNC SQL SYNC Umożliwia kopiowanie tabel zewnętrznych i tabel zarządzanych (jeśli zarządzane tabele są przechowywane poza magazynem obszarów roboczych usługi Databricks, czasami nazywane katalogem głównym systemu plików DBFS) w magazynie metadanych Hive do tabel zewnętrznych w wykazie aparatu Unity. Można synchronizować poszczególne tabele lub całe schematy.

SYNC program jest przeznaczony do uruchamiania zgodnie z harmonogramem w celu pobrania nowych zmian w magazynie metadanych Programu Hive i zsynchronizowania ich z wykazem aparatu Unity.
Zarządzane lub zewnętrzne tabele programu Hive Tylko zewnętrzne Chcesz szybko uaktualnić tabele Programu Hive do tabel zewnętrznych w katalogu aparatu Unity i wolisz używać poleceń SQL, a nie interfejsu wizualnego.

Planowanie regularnych SYNC przebiegów w celu zaktualizowania istniejących tabel wykazu aparatu Unity, gdy zmiany w źródłowej tabeli Programu Hive sprawiają, że jest to przydatne narzędzie do zarządzania obszarem roboczym "hybrydowego" programu Hive i wykazu aparatu Unity podczas przejścia do wykazu aparatu Unity.

Ponieważ nie można uaktualnić SYNC tabel zarządzanych znajdujących się w magazynie obszaru roboczego usługi Databricks, użyj polecenia CREATE TABLE CLONE dla tych tabel.
POLECENIE CREATE TABLE CLONE SQL CREATE TABLE CLONE Umożliwia uaktualnienie zarządzanych tabel w magazynie metadanych Programu Hive do tabel zarządzanych w wykazie aparatu Unity. Można sklonować poszczególne tabele.

Preferowane są głębokie klony, ponieważ kopiują dane tabeli źródłowej do obiektu docelowego klonowania oprócz istniejących metadanych tabeli.
Zarządzane tabele programu Hive, które są w formacie Delta, Parquet lub Iceberg. Klonowanie tabel źródłowych Parquet i Iceberg ma określone wymagania i ograniczenia: zobacz Wymagania i ograniczenia dotyczące klonowania tabel Parquet i Iceberg. Tylko zarządzane Chcesz przeprowadzić migrację tabel zarządzanych programu Hive do tabel zarządzanych wykazu aparatu Unity, aby w pełni wykorzystać ład danych wykazu aparatu Unity, a tabele programu Hive spełniają kryteria wymienione w komórce "Wymagania dotyczące tabeli Hive".

Jeśli tabele programu Hive nie spełniają wymagań "Wymagania dotyczące tabeli Hive", możesz użyć polecenia CREATE TABLE AS SELECT SQL, aby uaktualnić tabelę Programu Hive do tabeli zarządzanej w wykazie aparatu Unity. Jednak CLONE jest prawie zawsze preferowane. Klonowanie ma prostszą składnię niż CREATE TABLE AS SELECT: nie trzeba określać partycjonowania, formatowania, niezmienności, wartości null, strumienia, COPY INTOi innych metadanych, ponieważ są one klonowane z tabeli źródłowej.

W tym artykule opisano sposób wykonywania wszystkich procesów uaktualniania opartych na interfejsie UCX. Usługa Databricks zaleca interfejs UCX dla większości scenariuszy uaktualniania obszaru roboczego. Jednak w przypadku prostszych przypadków użycia możesz preferować co najmniej jeden z narzędzi opisanych tutaj.

Przed rozpoczęciem

W tej sekcji opisano niektóre skutki migracji, które należy przygotować wraz z uprawnieniami i wymaganiami obliczeniowymi.

Omówienie wpływu

Należy pamiętać, że podczas modyfikowania obciążeń w celu używania nowych tabel wykazu aparatu Unity może być konieczne zmianę niektórych zachowań:

  • Wykaz aparatu Unity zarządza partycjami inaczej niż hive. Polecenia programu Hive, które bezpośrednio manipulują partycjami, nie są obsługiwane w tabelach zarządzanych przez wykaz aparatu Unity.
  • Historia tabel nie jest migrowana podczas uruchamiania polecenia CREATE TABLE CLONE. Wszystkie tabele w magazynie metadanych Programu Hive sklonowane do wykazu aparatu Unity są traktowane jako nowe tabele. Nie można wykonać podróży w czasie usługi Delta Lake ani innych operacji, które opierają się na historii przed migracją.

Aby uzyskać więcej informacji, zobacz Praca z katalogiem aparatu Unity i starszym magazynem metadanych Hive.

Wymagania

Aby przeprowadzić migracje, musisz mieć następujące elementy:

  • Obszar roboczy z magazynem metadanych wykazu aparatu Unity i co najmniej jednym wykazem wykazu aparatu Unity. Zobacz Konfigurowanie wykazu aparatu Unity i zarządzanie nim.

  • Uprawnienia w wykazie aparatu Unity, do których migrujesz tabele. Te wymagania dotyczące uprawnień są wyliczane na początku każdej procedury opisanej w tym artykule.

  • W przypadku migracji do tabel zewnętrznych wykazu aparatu Unity: poświadczenia magazynu i lokalizacje zewnętrzne zdefiniowane w wykazie aparatu Unity oraz CREATE EXTERNAL TABLE uprawnienia w lokalizacji zewnętrznej.

  • Dostęp do zasobów obliczeniowych usługi Azure Databricks spełniających oba następujące wymagania:

    • Obsługuje wykaz aparatu Unity (magazyny SQL lub zasoby obliczeniowe korzystające z trybu dostępu jednokrotnego lub współużytkowanego).
    • Umożliwia dostęp do tabel w magazynie metadanych Hive.

    Ponieważ zasoby obliczeniowe korzystające z trybu dostępu współdzielonego są domyślnie włączone dla starszej kontroli dostępu do tabel, oznacza to, że w przypadku korzystania z tego trybu dostępu musisz mieć uprawnienia kontroli dostępu do tabel w magazynie metadanych Programu Hive, z którego przeprowadzasz migrację. Możesz udzielić sobie dostępu przy użyciu następującego polecenia SQL:

    GRANT ALL PRIVILEGES ON catalog hive_metastore TO `<user>`
    

    Alternatywnie można użyć zasobu obliczeniowego w trybie dostępu jednego użytkownika.

Aby uzyskać więcej informacji na temat zarządzania uprawnieniami do obiektów w magazynie metadanych Hive, zobacz Uprawnienia magazynu metadanych Hive i zabezpieczane obiekty (starsza wersja). Aby uzyskać więcej informacji na temat zarządzania uprawnieniami do obiektów w magazynie metadanych wykazu aparatu Unity, zobacz Zarządzanie uprawnieniami w wykazie aparatu Unity.

Identyfikowanie tabel zarządzanych przez magazyn metadanych Hive

Aby określić, czy tabela jest obecnie zarejestrowana w wykazie aparatu Unity, sprawdź nazwę wykazu. Tabele w wykazie hive_metastore są rejestrowane w lokalnym magazynie metadanych Hive obszaru roboczego. Wszystkie inne wymienione wykazy podlegają wykazowi aparatu Unity.

Aby wyświetlić tabele w wykazie hive_metastore przy użyciu Eksploratora wykazu:

  1. Kliknij pozycję Ikona wykazu Wykaz na pasku bocznym.
  2. W okienku wykazu przejdź do hive_metastore katalogu i rozwiń węzły schematu.

Możesz również wyszukać określoną tabelę przy użyciu pola filtru w okienku Wykaz.

Uaktualnianie schematu lub wielu tabel z magazynu metadanych Programu Hive do tabel zewnętrznych wykazu aparatu Unity przy użyciu kreatora uaktualniania

Pełne schematy (bazy danych) i wiele tabel zewnętrznych lub zarządzanych można skopiować z domyślnego magazynu metadanych Hive usługi Azure Databricks do magazynu metadanych wykazu aparatu Unity przy użyciu kreatora uaktualniania Eksploratora wykazu. Uaktualnione tabele będą tabelami zewnętrznymi w wykazie aparatu Unity.

Aby uzyskać pomoc przy podejmowaniu decyzji o tym, kiedy należy używać kreatora uaktualniania, zobacz Opcje migracji programu Hive do wykazu aparatu Unity.

Wymagania

Wymagania dotyczące formatu danych:

Wymagania dotyczące obliczeń:

Wymagania dotyczące obiektu wykazu aparatu Unity i uprawnień:

  • Poświadczenie magazynu dla tożsamości zarządzanej platformy Azure lub jednostki usługi, która autoryzuje katalog aparatu Unity w celu uzyskania dostępu do ścieżki lokalizacji tabel.
  • Lokalizacja zewnętrzna, która odwołuje się do właśnie utworzonego poświadczenia magazynu, oraz ścieżkę do danych w dzierżawie chmury.
  • Uprawnienie CREATE EXTERNAL TABLE w lokalizacjach zewnętrznych tabel do uaktualnienia.

Wymagania dotyczące dostępu do tabel programu Hive:

  • Jeśli środowisko obliczeniowe korzysta z trybu dostępu współdzielonego, musisz mieć dostęp do tabel w magazynie metadanych Programu Hive, udzielony przy użyciu starszej kontroli dostępu do tabel. Zobacz Przed rozpoczęciem.

Proces uaktualniania

  1. Kliknij pozycję Ikona wykazu Wykaz na pasku bocznym, aby otworzyć Eksploratora wykazu.

  2. Wybierz hive_metastore jako katalog i wybierz schemat (bazę danych), który chcesz uaktualnić.

    Wybieranie bazy danych

  3. Kliknij przycisk Uaktualnij w prawym górnym rogu widoku szczegółów schematu.

  4. Zaznacz wszystkie tabele, które chcesz uaktualnić, a następnie kliknij przycisk Dalej.

    Za pomocą kreatora uaktualniania można uaktualnić tylko tabele zewnętrzne w formatach obsługiwanych przez wykaz aparatu Unity. Zobacz Praca z tabelami zewnętrznymi.

  5. Ustaw katalog docelowy, schemat (bazę danych) i właściciela dla każdej tabeli.

    Użytkownicy będą mogli uzyskać dostęp do nowo utworzonej tabeli w kontekście swoich uprawnień w katalogu i schemacie.

    Właściciele tabel mają wszystkie uprawnienia do tabeli, w tym SELECT i MODIFY. Jeśli nie wybierzesz właściciela, tabele zarządzane zostaną utworzone z Tobą jako właściciel. Usługa Databricks zwykle zaleca przyznanie własności tabeli grupom. Aby dowiedzieć się więcej o własności obiektu w wykazie aparatu Unity, zobacz Zarządzanie własnością obiektu wykazu aparatu Unity.

    Aby przypisać ten sam wykaz i schemat do wielu tabel, wybierz tabele i kliknij przycisk Ustaw lokalizację docelową.

    Aby przypisać tego samego właściciela do wielu tabel, wybierz tabele i kliknij przycisk Ustaw właściciela .

  6. Przejrzyj konfiguracje tabeli. Aby je zmodyfikować, kliknij przycisk Wstecz .

  7. Kliknij pozycję Utwórz zapytanie w celu uaktualnienia.

    Zostanie wyświetlony edytor zapytań z wygenerowanymi instrukcjami SQL.

  8. Uruchamianie zapytania.

    Po zakończeniu zapytania metadane każdej tabeli zostały skopiowane z magazynu metadanych Programu Hive do wykazu aparatu Unity. Te tabele są oznaczone jako uaktualnione w kreatorze uaktualniania.

  9. Zdefiniuj szczegółową kontrolę dostępu przy użyciu karty Uprawnienia każdej nowej tabeli.

  10. (Opcjonalnie) Dodaj komentarze do każdej uaktualnionej tabeli programu Hive, która wskazuje użytkowników na nową tabelę wykazu aparatu Unity.

    Wróć do oryginalnej tabeli w wykazie, hive.metastore aby dodać komentarz do tabeli.

    Jeśli używasz następującej składni w komentarzu tabeli, notesach i edytorze zapytań SQL odwołujących się do przestarzałej tabeli Programu Hive będzie wyświetlana przestarzała nazwa tabeli przy użyciu tekstu przekreślenia, wyświetl komentarz jako ostrzeżenie i podaj link Quick Fix do asystenta usługi Databricks, który może zaktualizować kod, aby odwoływać się do nowej tabeli.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Zobacz Dodawanie komentarzy, aby wskazać, że tabela Hive została zmigrowana.

  11. Zmodyfikuj obciążenia, aby używały nowych tabel.

    Jeśli dodano komentarz do oryginalnej tabeli programu Hive, taki jak ten wymieniony w opcjonalnym poprzednim kroku, możesz użyć linku Szybka poprawka i Asystenta usługi Databricks, aby ułatwić znajdowanie i modyfikowanie obciążeń.

Uaktualnianie pojedynczej tabeli Programu Hive do tabeli zewnętrznej wykazu aparatu Unity przy użyciu kreatora uaktualniania

Jedną tabelę można skopiować z domyślnego magazynu metadanych Programu Hive do magazynu metadanych wykazu aparatu Unity przy użyciu kreatora uaktualniania w Eksploratorze wykazu

Aby uzyskać pomoc przy podejmowaniu decyzji o tym, kiedy należy używać kreatora uaktualniania, zobacz Opcje migracji programu Hive do wykazu aparatu Unity.

Wymagania

Wymagania dotyczące formatu danych:

Wymagania dotyczące obliczeń:

Wymagania dotyczące obiektu wykazu aparatu Unity i uprawnień:

  • Poświadczenie magazynu dla tożsamości zarządzanej platformy Azure lub jednostki usługi, która autoryzuje katalog aparatu Unity w celu uzyskania dostępu do ścieżki lokalizacji tabeli.
  • Lokalizacja zewnętrzna, która odwołuje się do właśnie utworzonego poświadczenia magazynu, oraz ścieżkę do danych w dzierżawie chmury.
  • Uprawnienie CREATE EXTERNAL TABLE w lokalizacjach zewnętrznych tabel do uaktualnienia.

Proces uaktualniania

Aby uaktualnić tabelę zewnętrzną:

  1. Kliknij pozycję Ikona wykazu Wykaz na pasku bocznym, aby otworzyć Eksploratora wykazu.

  2. Wybierz bazę danych, a następnie tabelę, którą chcesz uaktualnić.

  3. Kliknij przycisk Uaktualnij w prawym górnym rogu widoku szczegółów tabeli.

  4. Wybierz tabelę do uaktualnienia, a następnie kliknij przycisk Dalej.

  5. Wybierz katalog docelowy, schemat (bazę danych) i właściciela.

    Użytkownicy będą mogli uzyskać dostęp do nowo utworzonej tabeli w kontekście swoich uprawnień w katalogu i schemacie.

    Właściciele tabel mają wszystkie uprawnienia do tabeli, w tym SELECT i MODIFY. Jeśli nie wybierzesz właściciela, zarządzana tabela zostanie utworzona z Tobą jako właściciel. Usługa Databricks zwykle zaleca przyznanie własności tabeli grupom. Aby dowiedzieć się więcej o własności obiektu w wykazie aparatu Unity, zobacz Zarządzanie własnością obiektu wykazu aparatu Unity.

  6. Kliknij przycisk Uaktualnij w prawym górnym rogu widoku szczegółów tabeli.

  7. Wybierz tabelę do uaktualnienia, a następnie kliknij przycisk Dalej.

    Metadane tabeli są teraz kopiowane do wykazu aparatu Unity, a nowa tabela została utworzona. Teraz możesz użyć karty Uprawnienia , aby zdefiniować szczegółową kontrolę dostępu.

  8. Użyj karty Uprawnienia, aby zdefiniować szczegółową kontrolę dostępu.

  9. (Opcjonalnie) Dodaj komentarz do tabeli programu Hive, który wskazuje użytkowników na nową tabelę wykazu aparatu Unity.

    Wróć do oryginalnej tabeli w wykazie, hive.metastore aby dodać komentarz do tabeli.

    Jeśli używasz następującej składni w komentarzu tabeli, notesach i edytorze zapytań SQL odwołujących się do przestarzałej tabeli Programu Hive będzie wyświetlana przestarzała nazwa tabeli przy użyciu tekstu przekreślenia, wyświetl komentarz jako ostrzeżenie i podaj link Quick Fix do asystenta usługi Databricks, który może zaktualizować kod, aby odwoływać się do nowej tabeli.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Zobacz Dodawanie komentarzy, aby wskazać, że tabela Hive została zmigrowana.

  10. Zmodyfikuj istniejące obciążenia, aby używać nowej tabeli.

    Jeśli dodano komentarz do oryginalnej tabeli programu Hive, taki jak ten wymieniony w opcjonalnym poprzednim kroku, możesz użyć linku Szybka poprawka i Asystenta usługi Databricks, aby ułatwić znajdowanie i modyfikowanie obciążeń.

    Uwaga

    Jeśli nie potrzebujesz już starej tabeli, możesz ją usunąć z magazynu metadanych Hive. Usunięcie tabeli zewnętrznej nie powoduje zmodyfikowania plików danych w dzierżawie chmury.

Uaktualnianie tabeli programu Hive do tabeli zewnętrznej wykazu aparatu Unity przy użyciu funkcji SYNC

Możesz użyć SYNC polecenia SQL, aby skopiować tabele zewnętrzne w magazynie metadanych Programu Hive do tabel zewnętrznych w wykazie aparatu Unity. Można synchronizować poszczególne tabele lub całe schematy.

Można również użyć SYNC do kopiowania tabel zarządzanych programu Hive przechowywanych poza magazynem obszarów roboczych usługi Databricks (czasami nazywanym głównym systemem plików DBFS) do tabel zewnętrznych w wykazie aparatu Unity. Nie można jej używać do kopiowania tabel zarządzanych programu Hive przechowywanych w magazynie obszarów roboczych. Aby skopiować te tabele, zamiast tego użyj polecenia CREATE TABLE CLONE .

Polecenie SYNC wykonuje operację zapisu do każdej tabeli źródłowej, która uaktualnia, aby dodać dodatkowe właściwości tabeli do księgowania, w tym rekord docelowej tabeli zewnętrznej wykazu aparatu Unity.

SYNC Można również użyć do aktualizowania istniejących tabel wykazu aparatu Unity, gdy tabele źródłowe w magazynie metadanych Programu Hive zostaną zmienione. Dzięki temu jest to dobre narzędzie do stopniowego przechodzenia do wykazu aparatu Unity.

Aby uzyskać szczegółowe informacje, zobacz SYNCHRONIZACJA. Aby uzyskać pomoc przy podejmowaniu decyzji o tym, kiedy należy używać kreatora uaktualniania, zobacz Opcje migracji programu Hive do wykazu aparatu Unity.

Wymagania

Wymagania dotyczące formatu danych:

Wymagania dotyczące obliczeń:

Wymagania dotyczące obiektu wykazu aparatu Unity i uprawnień:

  • Poświadczenie magazynu dla tożsamości zarządzanej platformy Azure lub jednostki usługi, która autoryzuje katalog aparatu Unity w celu uzyskania dostępu do ścieżki lokalizacji tabel.
  • Lokalizacja zewnętrzna, która odwołuje się do właśnie utworzonego poświadczenia magazynu, oraz ścieżkę do danych w dzierżawie chmury.
  • Uprawnienie CREATE EXTERNAL TABLE w lokalizacjach zewnętrznych tabel do uaktualnienia.

Wymagania dotyczące dostępu do tabel programu Hive:

  • Jeśli środowisko obliczeniowe korzysta z trybu dostępu współdzielonego, musisz mieć dostęp do tabel w magazynie metadanych Programu Hive, udzielony przy użyciu starszej kontroli dostępu do tabel. Zobacz Przed rozpoczęciem.

Proces uaktualniania

Aby uaktualnić tabele w magazynie metadanych Hive do tabel zewnętrznych wykazu aparatu Unity przy użyciu polecenia SYNC:

  1. W notesie lub edytorze zapytań SQL uruchom jedną z następujących czynności:

    Synchronizowanie zewnętrznej tabeli programu Hive:

    SYNC TABLE <uc-catalog>.<uc-schema>.<new-table> FROM hive_metastore.<source-schema>.<source-table>
    SET OWNER <principal>;
    

    Synchronizuj zewnętrzny schemat programu Hive i wszystkie jego tabele:

    SYNC SCHEMA <uc-catalog>.<new-schema> FROM hive_metastore.<source-schema>
    SET OWNER <principal>;
    

    Zsynchronizuj zarządzaną tabelę programu Hive przechowywaną poza magazynem obszaru roboczego usługi Databricks:

    SYNC TABLE <uc-catalog>.<uc-schema>.<new-table> AS EXTERNAL FROM hive_metastore.<source-schema>.<source-table>
    SET OWNER <principal>;
    

    Zsynchronizuj schemat zawierający zarządzane tabele programu Hive przechowywane poza magazynem obszaru roboczego usługi Databricks:

    SYNC SCHEMA <uc-catalog>.<new-schema> AS EXTERNAL FROM hive_metastore.<source-schema>
    SET OWNER <principal>;
    
  2. Udziel użytkownikom lub grupom na poziomie konta dostępu do nowej tabeli. Zobacz Zarządzanie uprawnieniami w wykazie aparatu Unity.

  3. (Opcjonalnie) Dodaj komentarz do oryginalnej tabeli programu Hive, która wskazuje użytkowników na nową tabelę wykazu aparatu Unity.

    Wróć do oryginalnej tabeli w wykazie, hive.metastore aby dodać komentarz do tabeli. Aby dowiedzieć się, jak dodawać komentarze do tabel przy użyciu Eksploratora wykazu, zobacz Dodawanie komentarzy do danych i zasobów sztucznej inteligencji. Aby dowiedzieć się, jak dodawać komentarze do tabeli przy użyciu instrukcji SQL w notesie lub edytorze zapytań SQL, zobacz KOMENTARZ.

    Jeśli używasz następującej składni w komentarzu tabeli, notesach i edytorze zapytań SQL odwołujących się do przestarzałej tabeli Programu Hive będzie wyświetlana przestarzała nazwa tabeli przy użyciu tekstu przekreślenia, wyświetl komentarz jako ostrzeżenie i podaj link Quick Fix do asystenta usługi Databricks, który może zaktualizować kod, aby odwoływać się do nowej tabeli.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Zobacz Dodawanie komentarzy, aby wskazać, że tabela Hive została zmigrowana.

  4. Po przeprowadzeniu migracji tabeli użytkownicy powinni zaktualizować istniejące zapytania i obciążenia, aby użyć nowej tabeli.

    Jeśli dodano komentarz do oryginalnej tabeli programu Hive, taki jak ten wymieniony w opcjonalnym poprzednim kroku, możesz użyć linku Szybka poprawka i Asystenta usługi Databricks, aby ułatwić znajdowanie i modyfikowanie obciążeń.

  5. Przed usunięciem starej tabeli przetestuj zależności, odwołując dostęp do niej i uruchamiając ponownie powiązane zapytania i obciążenia.

    Nie usuwaj starej tabeli, jeśli nadal polegasz na komentarzach do wycofania, aby ułatwić znajdowanie i aktualizowanie istniejącego kodu odwołującego się do starej tabeli. Podobnie nie usuwaj starej tabeli, jeśli ta tabela uległa zmianie od czasu oryginalnej synchronizacji: SYNC można użyć jej do zaktualizowania istniejących tabel wykazu aparatu Unity ze zmianami ze źródłowych tabel programu Hive.

Uaktualnianie tabeli zarządzanej programu Hive do tabeli zarządzanej w wykazie aparatu Unity przy użyciu polecenia CLONE

Służy CREATE TABLE CLONE do uaktualniania tabel zarządzanych w magazynie metadanych Programu Hive do tabel zarządzanych w wykazie aparatu Unity. Można sklonować poszczególne tabele. Głębokie klony kopiują dane tabeli źródłowej do obiektu docelowego klonowania oprócz istniejących metadanych tabeli. Użyj głębokiego klonowania, jeśli zamierzasz usunąć tabelę źródłową programu Hive. Płytkie klony nie kopiują plików danych do obiektu docelowego klonowania, ale zapewniają dostęp do nich przy użyciu odwołania do danych źródłowych: metadane tabeli są równoważne źródle. Płytkie klony są tańsze do utworzenia, ale wymagają, aby użytkownicy, którzy wysyłali zapytania o dane w obiekcie docelowym klonowania, również mieli dostęp do danych źródłowych.

Aby uzyskać pomoc przy podejmowaniu decyzji o tym, kiedy należy używać CLONEprogramu , zobacz Opcje migracji katalogu programu Hive do aparatu Unity. Aby uzyskać pomoc przy podejmowaniu decyzji o typie klonowania, zobacz Klonowanie tabeli w usłudze Azure Databricks.

Wymagania

Wymagania dotyczące formatu danych:

Wymagania dotyczące obliczeń:

Wymagania dotyczące uprawnień:

  • Uprawnienia USE CATALOG i USE SCHEMA w wykazie i schemacie, do którego dodasz tabelę, wraz ze CREATE TABLE schematem lub musisz być właścicielem wykazu lub schematu. Zobacz Uprawnienia wykazu aparatu Unity i zabezpieczane obiekty.
  • Jeśli środowisko obliczeniowe korzysta z trybu dostępu współdzielonego, musisz mieć dostęp do tabel w magazynie metadanych Programu Hive, udzielony przy użyciu starszej kontroli dostępu do tabel. Zobacz Przed rozpoczęciem.

Proces uaktualniania

Aby uaktualnić tabele zarządzane w magazynie metadanych Hive do tabel zarządzanych w katalogu aparatu Unity:

  1. W notesie lub edytorze zapytań SQL uruchom jedną z następujących czynności:

    Głębokie klonowanie zarządzanej tabeli w magazynie metadanych Hive:

    CREATE OR REPLACE TABLE <uc-catalog>.<uc-schema>.<new-table>
    DEEP CLONE hive_metastore.<source-schema>.<source-table>;
    

    Płytkie klonowanie zarządzanej tabeli w magazynie metadanych Hive:

    CREATE OR REPLACE TABLE <uc-catalog>.<uc-schema>.<new-table>
    SHALLOW CLONE hive_metastore.<source-schema>.<source-table>;
    

    Aby uzyskać informacje na temat dodatkowych parametrów, w tym właściwości tabeli, zobacz CREATE TABLE CLONE .

  2. Udziel użytkownikom lub grupom na poziomie konta dostępu do nowej tabeli. Zobacz Zarządzanie uprawnieniami w wykazie aparatu Unity.

  3. (Opcjonalnie) Dodaj komentarz do oryginalnej tabeli programu Hive, która wskazuje użytkowników na nową tabelę wykazu aparatu Unity.

    Wróć do oryginalnej tabeli w wykazie, hive.metastore aby dodać komentarz do tabeli. Aby dowiedzieć się, jak dodawać komentarze do tabel przy użyciu Eksploratora wykazu, zobacz Dodawanie komentarzy do danych i zasobów sztucznej inteligencji. Aby dowiedzieć się, jak dodawać komentarze do tabeli przy użyciu instrukcji SQL w notesie lub edytorze zapytań SQL, zobacz KOMENTARZ.

    Jeśli używasz następującej składni w komentarzu tabeli, notesach i edytorze zapytań SQL odwołujących się do przestarzałej tabeli Programu Hive będzie wyświetlana przestarzała nazwa tabeli przy użyciu tekstu przekreślenia, wyświetl komentarz jako ostrzeżenie i podaj link Quick Fix do asystenta usługi Databricks, który może zaktualizować kod, aby odwoływać się do nowej tabeli.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Zobacz Dodawanie komentarzy, aby wskazać, że tabela Hive została zmigrowana.

  4. Po przeprowadzeniu migracji tabeli użytkownicy powinni zaktualizować istniejące zapytania i obciążenia, aby użyć nowej tabeli.

    Jeśli dodano komentarz do oryginalnej tabeli programu Hive, taki jak ten wymieniony w opcjonalnym poprzednim kroku, możesz użyć linku Szybka poprawka i Asystenta usługi Databricks, aby ułatwić znajdowanie i modyfikowanie obciążeń.

  5. Przed usunięciem starej tabeli przetestuj zależności, odwołując dostęp do niej i uruchamiając ponownie powiązane zapytania i obciążenia.

    Nie usuwaj starej tabeli, jeśli nadal polegasz na komentarzach do wycofania, aby ułatwić znajdowanie i aktualizowanie istniejącego kodu odwołującego się do starej tabeli. Podobnie nie usuwaj starej tabeli, jeśli wykonano płytki klon. Płytkie klony odwołują się do danych z źródłowej tabeli Hive.

Uaktualnianie tabeli programu Hive do tabeli zarządzanej w wykazie aparatu Unity przy użyciu polecenia CREATE TABLE AS SELECT

Jeśli nie możesz użyć CREATE TABLE CLONE lub nie chcesz używać do migrowania tabeli w magazynie metadanych Hive do tabeli zarządzanej w wykazie aparatu Unity, możesz utworzyć nową zarządzaną tabelę w wykazie aparatu Unity, wykonując zapytanie względem tabeli Programu Hive przy użyciu polecenia CREATE TABLE AS SELECT. Aby uzyskać informacje o różnicach między CREATE TABLE CLONE i CREATE TABLE AS SELECT, zobacz Hive to Unity Catalog migration options (Opcje migracji wykazu programu Hive do aparatu Unity).

Wymagania

Wymagania dotyczące obliczeń:

Wymagania dotyczące uprawnień:

  • Uprawnienia USE CATALOG i USE SCHEMA w wykazie i schemacie, do którego dodasz tabelę, wraz ze CREATE TABLE schematem lub musisz być właścicielem wykazu lub schematu. Zobacz Uprawnienia wykazu aparatu Unity i zabezpieczane obiekty.
  • Jeśli środowisko obliczeniowe korzysta z trybu dostępu współdzielonego, musisz mieć dostęp do tabel w magazynie metadanych Programu Hive, udzielony przy użyciu starszej kontroli dostępu do tabel. Zobacz Przed rozpoczęciem.

Proces uaktualniania

Aby uaktualnić tabelę w magazynie metadanych Programu Hive do zarządzanej tabeli w katalogu aparatu Unity przy użyciu polecenia CREATE TABLE AS SELECT:

  1. Utwórz nową tabelę wykazu aparatu Unity, wykonując zapytanie względem istniejącej tabeli. Zastąp wartości symboli zastępczych:

    • <uc-catalog>: wykaz wykazu aparatu Unity dla nowej tabeli.
    • <uc-schema>: schemat wykazu aparatu Unity dla nowej tabeli.
    • <new-table>: nazwa tabeli wykazu aparatu Unity.
    • <source-schema>: schemat tabeli Programu Hive, taki jak default.
    • <source-table>: nazwa tabeli Programu Hive.

    SQL

    CREATE TABLE <uc-catalog>.<new-schema>.<new-table>
    AS SELECT * FROM hive_metastore.<source-schema>.<source-table>;
    

    Python

    df = spark.table("hive_metastore.<source-schema>.<source-table>")
    
    df.write.saveAsTable(
      name = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    R

    %r
    library(SparkR)
    
    df = tableToDF("hive_metastore.<source-schema>.<source-table>")
    
    saveAsTable(
      df = df,
      tableName = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    Scala

    val df = spark.table("hive_metastore.<source-schema>.<source-table>")
    
    df.write.saveAsTable(
      tableName = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    Jeśli chcesz migrować tylko niektóre kolumny lub wiersze, zmodyfikuj instrukcję SELECT .

    Uwaga

    Przedstawione tutaj polecenia tworzą zarządzaną tabelę, w której dane są kopiowane do dedykowanej zarządzanej lokalizacji magazynu. Jeśli zamiast tego chcesz utworzyć tabelę zewnętrzną, w której tabela jest zarejestrowana w wykazie aparatu Unity bez przenoszenia danych w magazynie w chmurze, zobacz Uaktualnianie pojedynczej tabeli Programu Hive do tabeli zewnętrznej wykazu aparatu Unity przy użyciu kreatora uaktualniania. Zobacz też Określanie lokalizacji magazynu zarządzanego w katalogu aparatu Unity.

  2. Udziel użytkownikom lub grupom na poziomie konta dostępu do nowej tabeli. Zobacz Zarządzanie uprawnieniami w wykazie aparatu Unity.

  3. (Opcjonalnie) Dodaj komentarz do oryginalnej tabeli programu Hive, która wskazuje użytkowników na nową tabelę wykazu aparatu Unity.

    Wróć do oryginalnej tabeli w wykazie, hive.metastore aby dodać komentarz do tabeli. Aby dowiedzieć się, jak dodawać komentarze do tabel przy użyciu Eksploratora wykazu, zobacz Dodawanie komentarzy do danych i zasobów sztucznej inteligencji. Aby dowiedzieć się, jak dodawać komentarze do tabeli przy użyciu instrukcji SQL w notesie lub edytorze zapytań SQL, zobacz KOMENTARZ.

    Jeśli używasz następującej składni w komentarzu tabeli, notesach i edytorze zapytań SQL odwołujących się do przestarzałej tabeli Programu Hive będzie wyświetlana przestarzała nazwa tabeli przy użyciu tekstu przekreślenia, wyświetl komentarz jako ostrzeżenie i podaj link Quick Fix do asystenta usługi Databricks, który może zaktualizować kod, aby odwoływać się do nowej tabeli.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Zobacz Dodawanie komentarzy, aby wskazać, że tabela Hive została zmigrowana.

  4. Po przeprowadzeniu migracji tabeli użytkownicy powinni zaktualizować istniejące zapytania i obciążenia, aby użyć nowej tabeli.

    Jeśli dodano komentarz do oryginalnej tabeli programu Hive, taki jak ten wymieniony w opcjonalnym poprzednim kroku, możesz użyć linku Szybka poprawka i Asystenta usługi Databricks, aby ułatwić znajdowanie i modyfikowanie obciążeń.

  5. Przed usunięciem starej tabeli przetestuj zależności, odwołując dostęp do niej i uruchamiając ponownie powiązane zapytania i obciążenia.

    Nie usuwaj starej tabeli, jeśli nadal polegasz na komentarzach do wycofania, aby ułatwić znajdowanie i aktualizowanie istniejącego kodu odwołującego się do starej tabeli.

Uaktualnianie widoku do wykazu aparatu Unity

Po uaktualnieniu wszystkich tabel widoku, do których odwołuje się ten sam magazyn metadanych wykazu aparatu Unity, można utworzyć nowy widok odwołujący się do nowych tabel.

Dodaj komentarze, aby wskazać, że tabela Hive została zmigrowana

Po dodaniu komentarza do przestarzałej tabeli programu Hive wskazującej użytkowników na nową tabelę wykazu aparatu Unity, notesy i edytor zapytań SQL odwołujące się do przestarzałej tabeli Programu Hive będą wyświetlać przestarzałą nazwę tabeli przy użyciu tekstu przekreślenia, wyświetlać komentarz jako ostrzeżenie i udostępnić link Szybkie poprawki do narzędzia Databricks Assistant, który może zaktualizować kod, aby odwoływać się do nowej tabeli.

Ostrzeżenie o wycofaniu tabeli Programu Hive

Komentarz musi mieć następujący format:

This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.

Aby dowiedzieć się, jak dodawać komentarze do tabel przy użyciu Eksploratora wykazu, zobacz Dodawanie komentarzy do danych i zasobów sztucznej inteligencji. Aby dowiedzieć się, jak dodawać komentarze do tabeli przy użyciu instrukcji SQL w notesie lub edytorze zapytań SQL, zobacz KOMENTARZ.

Aktualizowanie przestarzałego odwołania do tabeli przy użyciu asystenta usługi Databricks

Jeśli w komórce notesu lub instrukcji w edytorze zapytań SQL zobaczysz tekst przekreślenia w nazwie tabeli, aby wyświetlić ostrzeżenie. Jeśli to ostrzeżenie opisuje tabelę jako przestarzałą i wyświetla nową nazwę tabeli, kliknij pozycję Szybka poprawka, a następnie usuń poprawkę. Zostanie otwarty Asystent usługi Databricks, oferując zastąpienie przestarzałej nazwy tabeli nową nazwą tabeli wykazu aparatu Unity. Postępuj zgodnie z monitami, aby ukończyć zadanie.

Wideo przedstawiające aktualizację tabeli programu Hive przy użyciu asystenta usługi Databricks

Zobacz również Korzystanie z asystenta usługi Databricks.