Upgrade tabulek a zobrazení Hivu na katalog Unity
Tento článek popisuje, jak upgradovat tabulky a zobrazení zaregistrovaná ve stávajícím metastoru Hive místního pracovního prostoru na katalog Unity. Tabulku Hive můžete upgradovat na spravovanou tabulku nebo externí tabulku v katalogu Unity.
Spravované tabulky jsou upřednostňovaným způsobem vytváření tabulek v katalogu Unity. Katalog Unity plně spravuje životní cyklus, rozložení souborů a úložiště. Unity Catalog také optimalizuje výkon automaticky. Spravované tabulky vždy používají formát tabulky Delta .
Spravované tabulky se nacházejí ve spravovaném umístění úložiště, které si rezervujete pro Katalog Unity. Kvůli tomuto požadavku na úložiště musíte použít FUNKCI CLONE nebo CREATE TABLE AS SELECT (CTAS), pokud chcete zkopírovat existující tabulky Hive do katalogu Unity jako spravované tabulky.
Externí tabulky jsou tabulky, jejichž životní cyklus dat, rozložení souborů a umístění úložiště nejsou spravovány katalogem Unity. U externích tabulek je podporováno více formátů dat.
Externí tabulky obvykle používáte jenom v případě, že potřebujete přímý přístup k datům pomocí výpočetních prostředků jiných než Databricks (to znamená, že nepoužíváte clustery Databricks ani databricks SQL Warehouse). Externí tabulky jsou také vhodné ve scénářích migrace, protože existující data můžete rychle zaregistrovat v katalogu Unity, aniž byste museli kopírovat data. Důvodem je skutečnost, že data v externích tabulkách se nemusí nacházet v rezervovaném spravovaném úložišti.
Další informace o spravovaných a externích tabulkách v katalogu Unity najdete v tématu Co jsou tabulky a zobrazení?.
Možnosti migrace hivu do katalogu Unity
Až budete připraveni migrovat tabulky Hive do katalogu Unity, máte několik možností v závislosti na vašem případu použití:
Nástroj pro migraci | Popis | Požadavky na tabulku Hive | Vytvořená tabulka katalogu Unity | Proč bych ho měl používat? |
---|---|---|---|---|
UCX | Komplexní sada nástrojů příkazového řádku a dalších nástrojů, které vyhodnocují připravenost vašeho pracovního prostoru na migraci katalogu Unity a provádějí pracovní postupy, které migrují identity, oprávnění, umístění úložiště a tabulky do katalogu Unity. UCX je k dispozici na GitHubu na databrickslabs/ucx. | Spravované nebo externí tabulky Hive | Spravované nebo externí | Chcete komplexní nástroj pro plánování upgradu pracovního prostoru, který přesahuje upgrade tabulek Hive na Katalog Unity. Chcete upgradovat pracovní prostory s velkým množstvím dat v metastoru Hive. Máte pohodlné spouštění skriptů. Pokud chcete hromadně upgradovat tabulky Hive na spravované tabulky Unity, je to jediná možnost. UCX, podobně jako všechny projekty Databricks Labs, je veřejné úložiště GitHubu, které databricks nepodporuje přímo. |
Průvodce upgradem katalogu Unity | Funkce Průzkumníka katalogu, která umožňuje hromadně kopírovat celá schémata (databáze) a více spravovaných a externích tabulek z metastoru Hive do metastoru katalogu Unity jako externí tabulky. Průvodce upgradem SYNC provede příkaz u vybraných tabulek a ponechá původní tabulky Hive nedotčené. Máte možnost naplánovat pravidelné upgrady, abyste mohli vyzvednout změny zdrojových tabulek Hive. |
Spravované nebo externí tabulky Hive | Pouze externí | Tabulky Hive chcete rychle upgradovat na externí tabulky v katalogu Unity a dáváte přednost vizuálnímu rozhraní. Možnost naplánovat pravidelnou synchronizaci, když se změní zdrojová tabulka Hive, je užitečným nástrojem pro správu "hybridního" pracovního prostoru Hive a katalogu Unity během přechodu do katalogu Unity. |
Příkaz SYNC SQL | SYNC Umožňuje kopírovat externí tabulky a spravované tabulky (pokud jsou spravované tabulky uložené mimo úložiště pracovních prostorů Databricks, někdy označované jako kořen DBFS) v metastoru Hive do externích tabulek v katalogu Unity. Můžete synchronizovat jednotlivé tabulky nebo celá schémata.SYNC je navržený tak, aby byl spouštěný podle plánu, aby mohl vyzvednout nové změny v metastoru Hive a synchronizovat je s katalogem Unity. |
Spravované nebo externí tabulky Hive | Pouze externí | Tabulky Hive chcete rychle upgradovat na externí tabulky v katalogu Unity a raději místo vizuálního rozhraní používat příkazy SQL. Plánování běžných SYNC spuštění pro aktualizaci existujících tabulek Katalogu Unity, když změny zdrojové tabulky Hive dělají užitečný nástroj pro správu "hybridního" pracovního prostoru Hive a Katalogu Unity během přechodu do katalogu Unity.Protože nemůžete použít SYNC k upgradu spravovaných tabulek, které jsou v úložišti pracovního prostoru Databricks, použijte pro tyto tabulky příkaz CREATE TABLE CLONE . |
PŘÍKAZ CREATE TABLE CLONE SQL | CREATE TABLE CLONE umožňuje upgradovat spravované tabulky v metastoru Hive na spravované tabulky v katalogu Unity. Jednotlivé tabulky můžete klonovat.Hloubkové klony kopírují data zdrojové tabulky a metadata do cíle klonování. |
Spravované tabulky Hive, které jsou ve formátu Delta. | Pouze spravované | Chcete migrovat spravované tabulky Hive do spravovaných tabulek Unity Catalog, abyste mohli plně využít zásady správného řízení dat katalogu Unity a tabulky Hive splňují kritéria uvedená v buňce Požadavky na tabulku Hive. Pokud tabulky Hive nesplňují požadavky na tabulku Hive, můžete k upgradu tabulky Hive na spravovanou tabulku Unity použít příkaz CREATE TABLE AS SELECT SQL. Je však CLONE téměř vždy upřednostňovaný. Klonování má jednodušší syntaxi než CREATE TABLE AS SELECT : nemusíte zadávat dělení, formát, invarianty, nullability, stream, COPY INTO a další metadata, protože jsou naklonovány ze zdrojové tabulky. |
Tento článek popisuje, jak provést celý proces upgradu řízeného UCX. Databricks doporučuje UCX pro většinu scénářů upgradu pracovního prostoru. Pro jednodušší případy použití však můžete preferovat jeden nebo více zde popsaných nástrojů.
Než začnete
Tato část popisuje některé dopady migrace, na které byste měli být připraveni, spolu s oprávněními a požadavky na výpočetní prostředky.
Vysvětlení dopadu
Měli byste vědět, že při úpravě úloh tak, aby používaly nové tabulky katalogu Unity, možná budete muset změnit některé chování:
- Katalog Unity spravuje oddíly jinak než Hive. Příkazy Hive, které přímo manipulují s oddíly, nejsou podporovány v tabulkách spravovaných katalogem Unity.
- Historie tabulek se při spuštění
CREATE TABLE CLONE
nemigruje . Všechny tabulky v metastoru Hive, které klonujete do katalogu Unity, se považují za nové tabulky. Nelze provádět časové operace Delta Lake ani jiné operace, které závisí na historii před migrací.
Další informace najdete v tématu Práce s katalogem Unity a starší verzí metastoru Hive.
Požadavky
Pokud chcete provádět migrace, musíte mít:
Pracovní prostor s metastorem katalogu Unity a alespoň jedním katalogem Katalogu Unity. Viz Nastavení a správa katalogu Unity.
Oprávnění k katalogům Unity, do kterých migrujete tabulky. Tyto požadavky na oprávnění jsou uvedeny na začátku každého postupu popsaného v tomto článku.
Pro migraci do externích tabulek Katalogu Unity: přihlašovací údaje úložiště a externí umístění definovaná v katalogu Unity a
CREATE EXTERNAL TABLE
oprávnění k externímu umístění.Přístup k výpočetním prostředkům Azure Databricks, který splňuje obě následující požadavky:
- Podporuje katalog Unity (sklady SQL nebo výpočetní prostředky, které používají režim jednoho uživatele nebo sdíleného přístupu).
- Umožňuje přístup k tabulkám v metastoru Hive.
Vzhledem k tomu, že výpočetní prostředky, které používají režim sdíleného přístupu, jsou ve výchozím nastavení povolené pro řízení přístupu ke starším verzím tabulek, znamená to, že pokud použijete tento režim přístupu, musíte mít oprávnění řízení přístupu k tabulce v metastoru Hive, ze kterého migrujete. Přístup můžete udělit pomocí následujícího příkazu SQL:
GRANT ALL PRIVILEGES ON catalog hive_metastore TO `<user>`
Alternativně můžete použít výpočetní prostředek v režimu přístupu jednoho uživatele.
Další informace o správě oprávnění k objektům v metastoru Hive najdete v tématu Oprávnění metastoru Hive a zabezpečitelné objekty (starší verze). Další informace o správě oprávnění k objektům v metastoru katalogu Unity najdete v tématu Správa oprávnění v katalogu Unity.
Identifikace tabulek spravovaných metastorem Hive
Pokud chcete zjistit, jestli je tabulka aktuálně zaregistrovaná v katalogu Unity, zkontrolujte název katalogu. Tabulky v katalogu hive_metastore
se registrují v metastoru Hive v místním pracovním prostoru. Všechny ostatní uvedené katalogy se řídí katalogem Unity.
Zobrazení tabulek v hive_metastore
katalogu pomocí Průzkumníka katalogu:
- Na bočním panelu klikněte na Katalog.
- V podokně katalogu přejděte do
hive_metastore
katalogu a rozbalte uzly schématu.
Konkrétní tabulku můžete také vyhledat pomocí pole filtru v podokně Katalog.
Upgrade schématu nebo více tabulek z metastoru Hive na externí tabulky Katalogu Unity pomocí průvodce upgradem
Pomocí průvodce upgradem Průzkumníka katalogů můžete zkopírovat kompletní schémata (databáze) a několik externích nebo spravovaných tabulek z výchozího metastoru Hive v Azure Databricks do metastoru katalogu Unity. Upgradované tabulky budou externí tabulky v katalogu Unity.
Nápovědu k rozhodování o tom, kdy použít průvodce upgradem, najdete v tématu Možnosti migrace katalogu Unity do Hive.
Požadavky
Požadavky na formát dat:
Požadavky na výpočetní prostředky:
- Výpočetní prostředek, který podporuje katalog Unity. Podívejte se , než začnete.
Požadavky na objekt a oprávnění v Katalogu Unity:
- Přihlašovací údaje úložiště pro spravovanou identitu Azure nebo instanční objekt, který autorizuje katalog Unity pro přístup k cestě k umístění tabulek.
- Externí umístění , které odkazuje na přihlašovací údaje úložiště, které jste právě vytvořili, a cestu k datům ve vašem cloudovém tenantovi.
- Oprávnění
CREATE EXTERNAL TABLE
pro externí umístění tabulek, které se mají upgradovat.
Požadavky na přístup k tabulce Hive:
- Pokud výpočetní prostředky používají režim sdíleného přístupu, potřebujete přístup k tabulkám v metastoru Hive uděleným pomocí starší verze řízení přístupu k tabulkám. Podívejte se , než začnete.
Postup upgradu
Kliknutím na Katalog na bočním panelu otevřete Průzkumníka katalogu.
Vyberte
hive_metastore
jako katalog a vyberte schéma (databázi), které chcete upgradovat.V pravém horním rohu zobrazení podrobností schématu klikněte na Upgradovat .
Vyberte všechny tabulky, které chcete upgradovat, a klikněte na Další.
Pomocí průvodce upgradem je možné upgradovat pouze externí tabulky ve formátech podporovaných katalogem Unity. Viz Práce s externími tabulkami.
Nastavte cílový katalog, schéma (databázi) a vlastníka pro každou tabulku.
Uživatelé budou mít přístup k nově vytvořené tabulce v kontextu svých oprávnění v katalogu a schématu.
Vlastníci tabulek mají všechna oprávnění k tabulce, včetně
SELECT
aMODIFY
. Pokud nevyberete vlastníka, spravované tabulky se vytvoří s vámi jako vlastník. Databricks obecně doporučuje udělit vlastnictví tabulky skupinám. Další informace o vlastnictví objektů v katalogu Unity najdete v tématu Správa vlastnictví objektu Katalogu Unity.Pokud chcete přiřadit stejný katalog a schéma více tabulkám, vyberte tabulky a klikněte na tlačítko Nastavit cíl .
Pokud chcete přiřadit stejného vlastníka více tabulkám, vyberte tabulky a klikněte na tlačítko Nastavit vlastníka.
Zkontrolujte konfigurace tabulek. Pokud je chcete upravit, klikněte na tlačítko Předchozí .
Klikněte na Vytvořit dotaz pro upgrade.
Zobrazí se editor dotazů s vygenerovanými příkazy SQL.
Spusťte dotaz.
Po dokončení dotazu se metadata každé tabulky zkopírují z metastoru Hive do katalogu Unity. Tyto tabulky jsou v průvodci upgradem označené jako upgradované.
Definujte jemně odstupňované řízení přístupu pomocí karty Oprávnění každé nové tabulky.
(Volitelné) Přidejte komentáře ke každé upgradované tabulce Hive, která uživatele odkazuje na novou tabulku katalogu Unity.
Vraťte se do původní tabulky v
hive.metastore
katalogu a přidejte komentář k tabulce.Pokud v komentáři k tabulce použijete následující syntaxi, poznámkové bloky a dotazy editoru dotazů SQL, které odkazují na zastaralou tabulku Hive, zobrazí se zastaralý název tabulky pomocí přeškrtnutého textu, zobrazí se komentář jako upozornění a poskytne odkaz Quick Fix na Databricks Assistant, který může aktualizovat kód tak, aby odkazoval na novou tabulku.
This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
Podívejte se na přidání komentářů, které označují, že se migrovala tabulka Hive.
Upravte úlohy tak, aby používaly nové tabulky.
Pokud jste přidali komentář k původní tabulce Hive, jako je ta, která je uvedená v volitelném předchozím kroku, můžete pomocí odkazu Rychlá oprava a Databricks Assistanta najít a upravit úlohy.
Upgrade jedné tabulky Hive na externí tabulku Katalogu Unity pomocí průvodce upgradem
Jednu tabulku můžete zkopírovat z výchozího metastoru Hive do metastoru katalogu Unity pomocí průvodce upgradem v Průzkumníku katalogu.
Nápovědu k rozhodování o tom, kdy použít průvodce upgradem, najdete v tématu Možnosti migrace katalogu Unity do Hive.
Požadavky
Požadavky na formát dat:
Požadavky na výpočetní prostředky:
- Výpočetní prostředek, který podporuje katalog Unity. Podívejte se , než začnete.
Požadavky na objekt a oprávnění v Katalogu Unity:
- Přihlašovací údaje úložiště pro spravovanou identitu Azure nebo instanční objekt, který autorizuje katalog Unity pro přístup k cestě k umístění tabulky.
- Externí umístění , které odkazuje na přihlašovací údaje úložiště, které jste právě vytvořili, a cestu k datům ve vašem cloudovém tenantovi.
- Oprávnění
CREATE EXTERNAL TABLE
pro externí umístění tabulek, které se mají upgradovat.
Postup upgradu
Upgrade externí tabulky:
Kliknutím na Katalog na bočním panelu otevřete Průzkumníka katalogu.
Vyberte databázi a pak tabulku, kterou chcete upgradovat.
V pravém horním rohu zobrazení podrobností tabulky klikněte na Upgradovat .
Vyberte tabulku, která se má upgradovat, a klikněte na Další.
Vyberte cílový katalog, schéma (databázi) a vlastníka.
Uživatelé budou mít přístup k nově vytvořené tabulce v kontextu svých oprávnění v katalogu a schématu.
Vlastníci tabulek mají všechna oprávnění k tabulce, včetně
SELECT
aMODIFY
. Pokud nevyberete vlastníka, vytvoří se spravovaná tabulka s vámi jako vlastník. Databricks obecně doporučuje udělit vlastnictví tabulky skupinám. Další informace o vlastnictví objektů v katalogu Unity najdete v tématu Správa vlastnictví objektu Katalogu Unity.V pravém horním rohu zobrazení podrobností tabulky klikněte na Upgradovat .
Vyberte tabulku, která se má upgradovat, a klikněte na Další.
Metadata tabulky se teď zkopírují do katalogu Unity a vytvořila se nová tabulka. Teď můžete pomocí karty Oprávnění definovat jemně odstupňované řízení přístupu.
Pomocí karty Oprávnění můžete definovat jemně odstupňované řízení přístupu.
(Volitelné) Přidejte do tabulky Hive komentář, který uživatele odkazuje na novou tabulku katalogu Unity.
Vraťte se do původní tabulky v
hive.metastore
katalogu a přidejte komentář k tabulce.Pokud v komentáři k tabulce použijete následující syntaxi, poznámkové bloky a dotazy editoru dotazů SQL, které odkazují na zastaralou tabulku Hive, zobrazí se zastaralý název tabulky pomocí přeškrtnutého textu, zobrazí se komentář jako upozornění a poskytne odkaz Quick Fix na Databricks Assistant, který může aktualizovat kód tak, aby odkazoval na novou tabulku.
This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
Podívejte se na přidání komentářů, které označují, že se migrovala tabulka Hive.
Upravte existující úlohy tak, aby používaly novou tabulku.
Pokud jste přidali komentář k původní tabulce Hive, jako je ta, která je uvedená v volitelném předchozím kroku, můžete pomocí odkazu Rychlá oprava a Databricks Assistanta najít a upravit úlohy.
Poznámka:
Pokud už starou tabulku nepotřebujete, můžete ji odstranit z metastoru Hive. Vyřazení externí tabulky neupravuje datové soubory v cloudovém tenantovi.
Upgrade tabulky Hive na externí tabulku Katalogu Unity pomocí synchronizace
Pomocí příkazu SQL můžete SYNC
zkopírovat externí tabulky v metastoru Hive do externích tabulek v katalogu Unity. Můžete synchronizovat jednotlivé tabulky nebo celá schémata.
Můžete také použít SYNC
ke kopírování spravovaných tabulek Hive uložených mimo úložiště pracovního prostoru Databricks (někdy označované jako kořen DBFS) do externích tabulek v katalogu Unity. Nemůžete ji použít ke kopírování spravovaných tabulek Hive uložených v úložišti pracovního prostoru. Pokud chcete tyto tabulky zkopírovat, použijte místo toho PŘÍKAZ CREATE TABLE CLONE .
Příkaz SYNC
provede operaci zápisu do každé zdrojové tabulky, kterou upgraduje, a přidá další vlastnosti tabulky pro uchovávání knih, včetně záznamu cílové externí tabulky katalogu Unity.
SYNC
lze také použít k aktualizaci existujících tabulek Katalogu Unity při změně zdrojových tabulek v metastoru Hive. Díky tomu je vhodný nástroj pro postupné přechody do katalogu Unity.
Podrobnosti najdete v tématu SYNCHRONIZACE. Nápovědu k rozhodování o tom, kdy použít průvodce upgradem, najdete v tématu Možnosti migrace katalogu Unity do Hive.
Požadavky
Požadavky na formát dat:
Požadavky na výpočetní prostředky:
- Výpočetní prostředek, který podporuje katalog Unity. Podívejte se , než začnete.
Požadavky na objekt a oprávnění v Katalogu Unity:
- Přihlašovací údaje úložiště pro spravovanou identitu Azure nebo instanční objekt, který autorizuje katalog Unity pro přístup k cestě k umístění tabulek.
- Externí umístění , které odkazuje na přihlašovací údaje úložiště, které jste právě vytvořili, a cestu k datům ve vašem cloudovém tenantovi.
- Oprávnění
CREATE EXTERNAL TABLE
pro externí umístění tabulek, které se mají upgradovat.
Požadavky na přístup k tabulce Hive:
- Pokud výpočetní prostředky používají režim sdíleného přístupu, potřebujete přístup k tabulkám v metastoru Hive uděleným pomocí starší verze řízení přístupu k tabulkám. Podívejte se , než začnete.
Postup upgradu
Upgrade tabulek v metastoru Hive na externí tabulky Katalogu Unity pomocí SYNC
:
V poznámkovém bloku nebo editoru dotazů SQL spusťte jednu z následujících možností:
Synchronizace externí tabulky Hive:
SYNC TABLE <uc-catalog>.<uc-schema>.<new-table> FROM hive_metastore.<source-schema>.<source-table> SET OWNER <principal>;
Synchronizujte externí schéma Hive a všechny její tabulky:
SYNC SCHEMA <uc-catalog>.<new-schema> FROM hive_metastore.<source-schema> SET OWNER <principal>;
Synchronizace spravované tabulky Hive, která je uložená mimo úložiště pracovního prostoru Databricks:
SYNC TABLE <uc-catalog>.<uc-schema>.<new-table> AS EXTERNAL FROM hive_metastore.<source-schema>.<source-table> SET OWNER <principal>;
Synchronizujte schéma obsahující spravované tabulky Hive, které jsou uložené mimo úložiště pracovního prostoru Databricks:
SYNC SCHEMA <uc-catalog>.<new-schema> AS EXTERNAL FROM hive_metastore.<source-schema> SET OWNER <principal>;
Udělte uživatelům nebo skupinám na úrovni účtu přístup k nové tabulce. Viz Správa oprávnění v katalogu Unity.
(Volitelné) Přidejte komentář k původní tabulce Hive, která uživatele odkazuje na novou tabulku katalogu Unity.
Vraťte se do původní tabulky v
hive.metastore
katalogu a přidejte komentář k tabulce. Pokud chcete zjistit, jak přidat komentáře k tabulce pomocí Průzkumníka katalogu, přečtěte si článek Přidání komentářů k datům a prostředkům AI. Pokud chcete zjistit, jak přidat komentáře k tabulce pomocí příkazů SQL v poznámkovém bloku nebo editoru dotazů SQL, přečtěte si článek COMMENT ON.Pokud v komentáři k tabulce použijete následující syntaxi, poznámkové bloky a dotazy editoru dotazů SQL, které odkazují na zastaralou tabulku Hive, zobrazí se zastaralý název tabulky pomocí přeškrtnutého textu, zobrazí se komentář jako upozornění a poskytne odkaz Quick Fix na Databricks Assistant, který může aktualizovat kód tak, aby odkazoval na novou tabulku.
This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
Podívejte se na přidání komentářů, které označují, že se migrovala tabulka Hive.
Po migraci tabulky by uživatelé měli aktualizovat stávající dotazy a úlohy tak, aby používali novou tabulku.
Pokud jste přidali komentář k původní tabulce Hive, jako je ta, která je uvedená v volitelném předchozím kroku, můžete pomocí odkazu Rychlá oprava a Databricks Assistanta najít a upravit úlohy.
Před vyřazením staré tabulky otestujte závislosti odvoláním přístupu k ní a opětovným spuštěním souvisejících dotazů a úloh.
Starou tabulku nezahazujte, pokud stále spoléháte na vyřazení komentářů, abyste mohli najít a aktualizovat existující kód, který odkazuje na starou tabulku. Stejně tak nezahazujte starou tabulku, pokud se tato tabulka od původní synchronizace změnila:
SYNC
je možné ji použít k aktualizaci existujících tabulek katalogu Unity se změnami ze zdrojových tabulek Hive.
Upgrade spravované tabulky Hive na spravovanou tabulku Unity Catalog pomocí CLONE
Slouží CREATE TABLE CLONE
k upgradu spravovaných tabulek Delta v metastore Hive na spravované tabulky v katalogu Unity. Jednotlivé tabulky můžete klonovat. Při klonování tabulek ze starší verze metastoru Hive do katalogu Unity je nutné použít hluboké klony.
Nápovědu k rozhodování o tom, kdy se má použít CLONE
, najdete v tématu Možnosti migrace hive do katalogu Unity. Další informace najdete v CLONE
tématu Klonování tabulky v Azure Databricks.
Požadavky
Požadavky na formát dat:
- Spravované tabulky Hive ve formátu Delta
Požadavky na výpočetní prostředky:
- Výpočetní prostředek, který podporuje katalog Unity. Podívejte se , než začnete.
Požadavky na oprávnění:
USE SCHEMA
OprávněníUSE CATALOG
a oprávnění k katalogu a schématu, do kterého přidáváte tabulku, spoluCREATE TABLE
se schématem, nebo musíte být vlastníkem katalogu nebo schématu. Viz oprávnění katalogu Unity a zabezpečitelné objekty.- Pokud výpočetní prostředky používají režim sdíleného přístupu, potřebujete přístup k tabulkám v metastoru Hive uděleným pomocí starší verze řízení přístupu k tabulkám. Podívejte se , než začnete.
Postup upgradu
Upgrade spravovaných tabulek v metastoru Hive na spravované tabulky v katalogu Unity:
V poznámkovém bloku nebo editoru dotazů SQL spusťte jednu z následujících možností:
Hloubkové klonování spravované tabulky v metastoru Hive:
CREATE OR REPLACE TABLE <uc-catalog>.<uc-schema>.<new-table> DEEP CLONE hive_metastore.<source-schema>.<source-table>;
Informace o dalších parametrech, včetně vlastností tabulky, naleznete v tématu CREATE TABLE CLONE.
Udělte uživatelům nebo skupinám na úrovni účtu přístup k nové tabulce. Viz Správa oprávnění v katalogu Unity.
(Volitelné) Přidejte komentář k původní tabulce Hive, která uživatele odkazuje na novou tabulku katalogu Unity.
Vraťte se do původní tabulky v
hive.metastore
katalogu a přidejte komentář k tabulce. Pokud chcete zjistit, jak přidat komentáře k tabulce pomocí Průzkumníka katalogu, přečtěte si článek Přidání komentářů k datům a prostředkům AI. Pokud chcete zjistit, jak přidat komentáře k tabulce pomocí příkazů SQL v poznámkovém bloku nebo editoru dotazů SQL, přečtěte si článek COMMENT ON.Pokud v komentáři k tabulce použijete následující syntaxi, poznámkové bloky a dotazy editoru dotazů SQL, které odkazují na zastaralou tabulku Hive, zobrazí se zastaralý název tabulky pomocí přeškrtnutého textu, zobrazí se komentář jako upozornění a poskytne odkaz Quick Fix na Databricks Assistant, který může aktualizovat kód tak, aby odkazoval na novou tabulku.
This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
Podívejte se na přidání komentářů, které označují, že se migrovala tabulka Hive.
Po migraci tabulky by uživatelé měli aktualizovat stávající dotazy a úlohy tak, aby používali novou tabulku.
Pokud jste přidali komentář k původní tabulce Hive, jako je ta, která je uvedená v volitelném předchozím kroku, můžete pomocí odkazu Rychlá oprava a Databricks Assistanta najít a upravit úlohy.
Před vyřazením staré tabulky otestujte závislosti odvoláním přístupu k ní a opětovným spuštěním souvisejících dotazů a úloh.
Starou tabulku nezahazujte, pokud stále spoléháte na vyřazení komentářů, abyste mohli najít a aktualizovat existující kód, který odkazuje na starou tabulku. Stejně tak nezahoďte starou tabulku, pokud jste provedli mělký klon. Mělké klony odkazují na data ze zdrojové tabulky Hive.
Upgrade tabulky Hive na spravovanou tabulku Unity Catalog pomocí příkazu CREATE TABLE AS SELECT
Pokud nemůžete použít nebo nechcete použít CREATE TABLE CLONE
k migraci tabulky v metastoru Hive do spravované tabulky v katalogu Unity, můžete vytvořit novou spravovanou tabulku v katalogu Unity dotazováním tabulky Hive pomocí CREATE TABLE AS SELECT
. Informace o rozdílech mezi CREATE TABLE CLONE
možnostmi migrace do katalogu Unity najdete CREATE TABLE AS SELECT
v tématu Hive.
Požadavky
Požadavky na výpočetní prostředky:
- Výpočetní prostředek, který podporuje katalog Unity. Podívejte se , než začnete.
Požadavky na oprávnění:
USE SCHEMA
OprávněníUSE CATALOG
a oprávnění k katalogu a schématu, do kterého přidáváte tabulku, spoluCREATE TABLE
se schématem, nebo musíte být vlastníkem katalogu nebo schématu. Viz oprávnění katalogu Unity a zabezpečitelné objekty.- Pokud výpočetní prostředky používají režim sdíleného přístupu, potřebujete přístup k tabulkám v metastoru Hive uděleným pomocí starší verze řízení přístupu k tabulkám. Podívejte se , než začnete.
Postup upgradu
Upgrade tabulky v metastoru Hive na spravovanou tabulku v katalogu Unity pomocí CREATE TABLE AS SELECT
:
Vytvořte novou tabulku katalogu Unity dotazováním existující tabulky. Nahraďte zástupné hodnoty:
<uc-catalog>
: Katalog Unity pro novou tabulku.<uc-schema>
: Schéma katalogu Unity pro novou tabulku.<new-table>
: Název tabulky Katalogu Unity.<source-schema>
: Schéma pro tabulku Hive, napříkladdefault
.<source-table>
: Název tabulky 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>" )
Pokud chcete migrovat jenom některé sloupce nebo řádky, upravte
SELECT
příkaz.Poznámka:
Zde uvedené příkazy vytvoří spravovanou tabulku , ve které se data zkopírují do vyhrazeného spravovaného umístění úložiště. Pokud místo toho chcete vytvořit externí tabulku, ve které je tabulka zaregistrovaná v katalogu Unity bez přesunu dat v cloudovém úložišti, přečtěte si téma Upgrade jedné tabulky Hive na externí tabulku Katalogu Unity pomocí průvodce upgradem. Viz také Určení spravovaného umístění úložiště v katalogu Unity.
Udělte uživatelům nebo skupinám na úrovni účtu přístup k nové tabulce. Viz Správa oprávnění v katalogu Unity.
(Volitelné) Přidejte komentář k původní tabulce Hive, která uživatele odkazuje na novou tabulku katalogu Unity.
Vraťte se do původní tabulky v
hive.metastore
katalogu a přidejte komentář k tabulce. Pokud chcete zjistit, jak přidat komentáře k tabulce pomocí Průzkumníka katalogu, přečtěte si článek Přidání komentářů k datům a prostředkům AI. Pokud chcete zjistit, jak přidat komentáře k tabulce pomocí příkazů SQL v poznámkovém bloku nebo editoru dotazů SQL, přečtěte si článek COMMENT ON.Pokud v komentáři k tabulce použijete následující syntaxi, poznámkové bloky a dotazy editoru dotazů SQL, které odkazují na zastaralou tabulku Hive, zobrazí se zastaralý název tabulky pomocí přeškrtnutého textu, zobrazí se komentář jako upozornění a poskytne odkaz Quick Fix na Databricks Assistant, který může aktualizovat kód tak, aby odkazoval na novou tabulku.
This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
Podívejte se na přidání komentářů, které označují, že se migrovala tabulka Hive.
Po migraci tabulky by uživatelé měli aktualizovat stávající dotazy a úlohy tak, aby používali novou tabulku.
Pokud jste přidali komentář k původní tabulce Hive, jako je ta, která je uvedená v volitelném předchozím kroku, můžete pomocí odkazu Rychlá oprava a Databricks Assistanta najít a upravit úlohy.
Před vyřazením staré tabulky otestujte závislosti odvoláním přístupu k ní a opětovným spuštěním souvisejících dotazů a úloh.
Starou tabulku nezahazujte, pokud stále spoléháte na vyřazení komentářů, abyste mohli najít a aktualizovat existující kód, který odkazuje na starou tabulku.
Upgrade zobrazení na katalog Unity
Po upgradu všech odkazovaných tabulek zobrazení na stejný metastore katalogu Unity můžete vytvořit nové zobrazení , které odkazuje na nové tabulky.
Přidání komentářů k označení, že se migrovala tabulka Hive
Když přidáte komentář do zastaralé tabulky Hive, která uživatele odkazuje na novou tabulku Katalogu Unity, poznámkové bloky a dotazy editoru dotazů SQL, které odkazují na zastaralou tabulku Hive, zobrazí zastaralý název tabulky pomocí přeškrtnutého textu, zobrazí se komentář jako upozornění a poskytne odkaz na Nástroj Quick Fix na Databricks Assistant, který může aktualizovat kód tak, aby odkazoval na novou tabulku.
Váš komentář musí používat následující formát:
This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
Pokud chcete zjistit, jak přidat komentáře k tabulce pomocí Průzkumníka katalogu, přečtěte si článek Přidání komentářů k datům a prostředkům AI. Pokud chcete zjistit, jak přidat komentáře k tabulce pomocí příkazů SQL v poznámkovém bloku nebo editoru dotazů SQL, přečtěte si článek COMMENT ON.
Použití Nástroje Databricks Assistant k aktualizaci zastaralého odkazu na tabulku
Pokud se v buňce poznámkového bloku nebo v editoru dotazů SQL zobrazí přeškrtnutá text v názvu tabulky, zobrazí se upozornění tak, že na název tabulky najedete myší. Pokud toto upozornění popisuje tabulku jako zastaralou a zobrazí název nové tabulky, klikněte na Rychlá oprava a potom na Opravit vyřazení. Otevře se Nástroj Databricks Assistant, který nabízí nahrazení zastaralého názvu tabulky novým názvem tabulky Katalogu Unity. Podle pokynů dokončete úlohu.
Viz také Použití nástroje Databricks Assistant.