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

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.

Preferují se hloubkové klony, protože kromě existujících metadat tabulky kopírují data zdrojové tabulky do cíle klonování.
Spravované tabulky Hive, které jsou ve formátu Delta, Parquet nebo Iceberg. Klonování zdrojových tabulek Parquet a Iceberg má určité specifické požadavky a omezení: viz Požadavky a omezení pro klonování tabulek Parquet a Iceberg. 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 INTOa 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 CLONEnemigruje . 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>`
    

    Případně můžete použít výpočetní prostředek v režimu přístupu s jedním uživatelem.

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:

  1. Na bočním panelu klikněte na Ikona kataloguKatalog.
  2. 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

  1. Kliknutím na Ikona kataloguKatalog na bočním panelu otevřete Průzkumníka katalogu.

  2. Vyberte hive_metastore jako katalog a vyberte schéma (databázi), které chcete upgradovat.

    Výběr databáze

  3. V pravém horním rohu zobrazení podrobností schématu klikněte na Upgradovat .

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

  5. 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 a MODIFY. 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.

  6. Zkontrolujte konfigurace tabulek. Pokud je chcete upravit, klikněte na tlačítko Předchozí .

  7. Klikněte na Vytvořit dotaz pro upgrade.

    Zobrazí se editor dotazů s vygenerovanými příkazy SQL.

  8. 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é.

  9. Definujte jemně odstupňované řízení přístupu pomocí karty Oprávnění každé nové tabulky.

  10. (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.

  11. 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:

  1. Kliknutím na Ikona kataloguKatalog na bočním panelu otevřete Průzkumníka katalogu.

  2. Vyberte databázi a pak tabulku, kterou chcete upgradovat.

  3. V pravém horním rohu zobrazení podrobností tabulky klikněte na Upgradovat .

  4. Vyberte tabulku, která se má upgradovat, a klikněte na Další.

  5. 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 a MODIFY. 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.

  6. V pravém horním rohu zobrazení podrobností tabulky klikněte na Upgradovat .

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

  8. Pomocí karty Oprávnění můžete definovat jemně odstupňované řízení přístupu.

  9. (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.

  10. 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:

  1. 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>;
    
  2. 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.

  3. (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ářů markdownu k datovým objektům pomocí Průzkumníka katalogu. 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.

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

  5. 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 v metastoru Hive na spravované tabulky v katalogu Unity. Jednotlivé tabulky můžete klonovat. Deep clones copy source table data to the clone target in the existing table metadata. Pokud chcete odstranit zdrojovou tabulku Hive, použijte hloubkové klonování. Mělké klony nekopírují datové soubory do cíle klonování, ale poskytují jim přístup odkazem na zdrojová data: metadata tabulky jsou ekvivalentní zdroji. Mělké klony jsou levnější k vytvoření, ale vyžadují, aby uživatelé, kteří se dotazují na data v cíli klonu, měli také přístup ke zdrojovým datům.

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. Nápovědu k rozhodování o typu klonu, který se má použít, najdete v tématu Klonování tabulky v Azure Databricks.

Požadavky

Požadavky na formát dat:

  • Spravované tabulky Hive ve formátu Delta, Parquet nebo Iceberg Klonování zdrojových tabulek Parquet a Iceberg má určité specifické požadavky a omezení. Viz Požadavky a omezení klonování tabulek Parquet a Iceberg.

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, spolu CREATE 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:

  1. 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>;
    

    Mělké klonování spravované tabulky v metastoru Hive:

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

    Informace o dalších parametrech, včetně vlastností tabulky, naleznete v tématu CREATE TABLE CLONE.

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

  3. (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ářů markdownu k datovým objektům pomocí Průzkumníka katalogu. 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.

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

  5. 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 SELECTv 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, spolu CREATE 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:

  1. 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říklad default.
    • <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.

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

  3. (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ářů markdownu k datovým objektům pomocí Průzkumníka katalogu. 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.

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

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

Upozornění na vyřazení tabulky Hive

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ářů markdownu k datovým objektům pomocí Průzkumníka katalogu. 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.

Video ukazující aktualizaci tabulky Hive pomocí Databricks Assistantu

Viz také Použití nástroje Databricks Assistant.