Megosztás a következőn keresztül:


Az UCX-segédprogramok használatával frissítse a munkaterületet Unity Catalogra

Ez a cikk bemutatja az UCX-et, egy Databricks Labs-projektet, amely eszközöket biztosít a nem Unity-catalog munkaterület Unity Catalogra való frissítéséhez.

Feljegyzés

A databrickslabs GitHub-fiókban található összes projekthez hasonlóan az UCX is csak a feltáráshoz érhető el, és a Databricks szolgáltatásszintű szerződésekkel (SLA-kkal) hivatalosan nem támogatja. A rendszer az adott módon adja meg. Semmilyen garanciát nem vállalunk. Ne küldjön databricks-támogatási jegyet a projekt használatából eredő problémákhoz. Ehelyett küldjön be egy GitHub-problémát. A problémákat időengedélyként tekintjük át, de hivatalos SLA-k nem támogatottak.

Az UCX-projekt a következő migrálási eszközöket és munkafolyamatokat biztosítja:

  1. Felmérési munkafolyamat a migrálás megtervezéséhez.
  2. Csoportmigrálási munkafolyamat , amellyel a munkaterületről a Databricks-fiókra frissítheti a csoporttagságokat, és engedélyeket migrálhat az új fiókszintű csoportokba.
  3. A táblázatmigrálási munkafolyamat segítségével frissítheti a munkaterület Hive-metaadattárában regisztrált táblákat a Unity Catalog metaadattárára. Ez a munkafolyamat a tárolási helyek és a hozzáférésükhöz szükséges hitelesítő adatok migrálásában is segít.

Ez az ábra a teljes migrálási folyamatot mutatja be, amely név alapján azonosítja az áttelepítési munkafolyamatokat és a segédprogramokat:

UCX-migrálási munkafolyamatok diagramja

Feljegyzés

A diagramon látható kódmigrálási munkafolyamat fejlesztés alatt áll, és még nem érhető el.

Mielőtt elkezdené

Az UCX telepítése és az UCX-munkafolyamatok futtatása előtt a környezetnek meg kell felelnie az alábbi követelményeknek.

Az UCX-et futtató számítógépre telepített csomagok:

  • Databricks CLI v0.213 vagy újabb. Lásd: A Databricks parancssori felület telepítése vagy frissítése.

    Rendelkeznie kell egy Databricks-konfigurációs fájllal, amely a munkaterülethez és a Databricks-fiókhoz is rendelkezik konfigurációs profilokkal.

  • Python 3.10 vagy újabb.

  • Ha futtatni szeretné azt az UCX-munkafolyamatot, amely azonosítja a Hive-táblák által a munkaterületen használt tárolási helyeket (ajánlott, de nem kötelező), akkor a felhőtárhely-szolgáltató parancssori felületének (Azure CLI vagy AWS CLI) telepítve kell lennie azon a számítógépen, amelyen az UCX-munkafolyamatokat futtatja.

Hálózati hozzáférés:

  • Hálózati hozzáférés az UCX-telepítést futtató számítógépről a migrált Azure Databricks-munkaterülethez.
  • Hálózati hozzáférés az internethez az UCX-telepítést futtató számítógépről. Ez a pypi.org és github.com eléréséhez szükséges.
  • Hálózati hozzáférés az Azure Databricks-munkaterületről a pypi.org a databricks-sdk csomagok letöltéséhez pyyaml .

Databricks-szerepkörök és engedélyek:

  • Az UCX-telepítést futtató felhasználó Azure Databricks-fiókadminisztrátori és munkaterület-rendszergazdai szerepkörei. A telepítés nem futtatható egyszerű szolgáltatásnévként.

Egyéb Databricks-előfeltételek:

  • Minden olyan régióhoz létrehozott Unity Catalog-metaadattár, amely egy frissíteni kívánt munkaterületet üzemeltet, és mindegyik Azure Databricks-munkaterület egy Unity Catalog-metaadattárhoz van csatolva.

    Ha meg szeretné tudni, hogy rendelkezik-e már Unity Catalog-metaadattárral a megfelelő munkaterület-régiókban, hogyan hozhat létre metaadattárat, ha nem, és hogyan csatolhat Unity-katalógus metaadattárat egy munkaterülethez, olvassa el az 1. lépést: Győződjön meg arról, hogy a munkaterület engedélyezve van a Unity Cataloghoz a Unity Catalog beállítási cikkében. Alternatív megoldásként az UCX egy segédprogramot biztosít a Unity Catalog-metaadattárak munkaterületekhez való hozzárendeléséhez, amelyeket az UCX telepítése után használhat.

    A Unity Catalog-metaadattár munkaterülethez való csatolása lehetővé teszi az identitás-összevonást is, amelyben az Azure Databricks-fiók szintjén központosíthatja a felhasználókezelést, ami az UCX használatának előfeltétele is. Lásd: Identitás-összevonás engedélyezése.

  • Ha a munkaterület az alapértelmezett munkaterület-helyi Hive metaadattár helyett külső Hive-metaadattárat (például AWS-ragasztót) használ, el kell végeznie néhány előfeltétel-beállítást. Lásd: Külső Hive metaadattár-integráció a databrickslabs/ucx adattárban.

  • A munkaterületen futó, UCX-munkafolyamatokat futtató Pro- vagy kiszolgáló nélküli SQL-raktár, amely az értékelési munkafolyamat által létrehozott jelentés megjelenítéséhez szükséges.

Az UCX telepítése

Az UCX telepítéséhez használja a Databricks parancssori felületét:

databricks labs install ucx

A rendszer a következőket kéri:

  1. A frissíteni kívánt munkaterület Databricks-konfigurációs profilja. A konfigurációs fájlnak tartalmaznia kell a munkaterület szülő Databricks-fiókjához tartozó konfigurációs profilt is.

  2. A leltáradatbázis neve, amely a migrálási munkafolyamatok kimenetének tárolására szolgál. Általában nem gond az alapértelmezett beállítás kiválasztása, ami a következő ucx: .

  3. Egy SQL-raktár a telepítési folyamat futtatásához.

  4. A fiókszintű csoportokba migrálni kívánt munkaterület-helyi csoportok listája. Ha ezt alapértelmezettként (<ALL>) hagyja meg, a rendszer minden olyan meglévő fiókszintű csoportot, amelynek a neve megegyezik egy munkaterület-helyi csoport nevével, a rendszer az adott munkaterület-helyi csoport helyettesítéseként kezeli, és a telepítés után a csoport áttelepítési munkafolyamatának futtatásakor örökli a munkaterület összes engedélyét.

    A telepítő futtatása és a csoportmigrálás futtatása előtt lehetősége van módosítani a munkaterület-csoport–fiókcsoport leképezést. Lásd: Csoportnévütközések feloldása az UCX-adattárban.

  5. Ha külső Hive-metaadattárral (például AWS Glue) rendelkezik, csatlakozhat hozzá, vagy nem. Lásd: Külső Hive metaadattár-integráció a databrickslabs/ucx adattárban.

  6. A létrehozott README-jegyzetfüzet megnyitása.

A telepítés befejezése után üzembe helyez egy README-jegyzetfüzetet, irányítópultokat, adatbázisokat, kódtárakat, feladatokat és egyéb eszközöket a munkaterületen.

További információkért tekintse meg a projekt readme telepítési utasításait. Az UCX-et a Databricks-fiók összes munkaterületére is telepítheti.

A README-jegyzetfüzet megnyitása

Minden telepítés létrehoz egy README-jegyzetfüzetet, amely részletes leírást nyújt az összes munkafolyamatról és feladatról, és gyors hivatkozásokat tartalmaz a munkafolyamatokra és az irányítópultokra. Lásd: Olvasójegyzetfüzet.

1. lépés. Az értékelési munkafolyamat futtatása

Az értékelési munkafolyamat felméri a csoportidentitások, a tárolási helyek, a tárolási hitelesítő adatok, a hozzáférés-vezérlők és a táblák Unity-katalógussal való kompatibilitását az aktuális munkaterületen, és megadja a Unity Katalógusba való migrálás megtervezéséhez szükséges információkat. Az értékelési munkafolyamat feladatai a megadott függőségek függvényében párhuzamosan vagy sorrendben is végrehajthatók. Az értékelési munkafolyamat befejeződése után az értékelési irányítópultok megállapításokkal és gyakori javaslatokkal lesznek feltöltve.

Az egyes munkafolyamat-feladatok kimenete a $inventory_database telepítés során megadott séma Delta-tábláiban lesz tárolva. Ezekkel a táblázatokkal további elemzéseket és döntéshozatalt végezhet egy értékelő jelentés használatával. Az értékelési munkafolyamatot többször is futtathatja, hogy a migrálási folyamat megkezdése előtt minden inkompatibilis entitás azonosítható legyen és el legyen számolva.

Az értékelési munkafolyamatot az UCX által létrehozott README-jegyzetfüzetből és az Azure Databricks felhasználói felületéről (Workflows > Jobs > [UCX] Assessment) indíthatja el, vagy futtathatja a következő Databricks CLI-parancsot:

databricks labs ucx ensure-assessment-run

Részletes útmutatásért tekintse meg az Értékelési munkafolyamatot.

2. lépés. A csoportmigrálási munkafolyamat futtatása

A csoportmigrálási munkafolyamat fiókszintű csoportokra frissíti a munkaterület helyi csoportjait a Unity Catalog támogatásához. Biztosítja, hogy a megfelelő fiókszintű csoportok elérhetők legyenek a munkaterületen, és replikálja az összes engedélyt. Emellett eltávolítja a szükségtelen csoportokat és engedélyeket a munkaterületről. A csoportmigrálási munkafolyamat feladatai az értékelési munkafolyamat kimenetétől függenek.

Az egyes munkafolyamat-feladatok kimenete a $inventory_database telepítés során megadott séma Delta-tábláiban lesz tárolva. Ezekkel a táblázatokkal további elemzéseket és döntéshozatalt végezhet. A csoportmigrálási munkafolyamatot többször is futtathatja, hogy az összes csoport frissítése sikeres legyen, és hogy minden szükséges engedély hozzá legyen rendelve.

A csoportmigrálási munkafolyamat futtatásával kapcsolatos információkért tekintse meg az UCX által létrehozott README-jegyzetfüzetet és a csoportmigrálási munkafolyamatot az UCX-olvasóban.

3. lépés. A tábla áttelepítési munkafolyamatának futtatása

A táblázatmigrálási munkafolyamat frissíti a táblákat a Hive metaadattárból a Unity Catalog metaadattárba. A Hive metaadattár külső táblái a SYNC használatával külső táblákként frissülnek a Unity Katalógusban. A Munkaterület-tárolóban (más néven DBFS-gyökérben) tárolt Hive-metaadattár felügyelt táblái felügyelt táblákként frissülnek a Unity Catalogban a DEEP CLONE használatával.

A Hive által felügyelt tábláknak Delta vagy Parquet formátumúnak kell lenniük a frissítéshez. A külső Hive-tábláknak a Külső táblák használata listában felsorolt adatformátumok egyikében kell lenniük.

Az előkészítő parancsok futtatása

A táblamigrálás számos előkészítő feladatot tartalmaz, amelyeket a táblamigrálási munkafolyamat futtatása előtt futtat. Ezeket a feladatokat a következő Databricks CLI-parancsokkal hajthatja végre:

  • A create-table-mapping parancs, amely létrehoz egy CSV-fájlt, amely leképez egy cél Unity Catalog-katalógust, sémát és táblát minden frissítendő Hive-táblához. A migrálási munkafolyamat végrehajtása előtt tekintse át és frissítse a leképezési fájlt.
  • A create-uber-principal parancs, amely létrehoz egy egyszerű szolgáltatást, amely írásvédett hozzáféréssel rendelkezik a munkaterület táblái által használt összes tárolóhoz. A munkafolyamat-feladat számítási erőforrása ezt az egyszerű elemet használja a munkaterület tábláinak frissítéséhez. Ha végzett a frissítéssel, bontsa ki ezt a szolgáltatásnevet.
  • (Nem kötelező) A principal-prefix-access parancs, amely azonosítja a munkaterület Hive-táblái által használt tárfiókokat és tárelérési hitelesítő adatokat.
  • (Nem kötelező) A migrate-credentials Unity Catalog storage hitelesítő adatait létrehozó parancs a tárelérési principal-prefix-accesshitelesítő adatokból.
  • (Nem kötelező) A migration locations Unity Catalog külső helyeket létrehozó parancs az értékelési munkafolyamat által azonosított tárolóhelyekről, a létrehozott migrate-credentialstároló hitelesítő adatok használatával.
  • (Nem kötelező) A create-catalogs-schemasUnity Catalog katalógusokat és sémákat létrehozó parancs, amely a frissített táblákat fogja tárolni.

További részletekért, beleértve a további táblázatmigrálási munkafolyamat-parancsokat és -beállításokat, tekintse meg a táblázatmigrálási parancsokat az UCX-olvasóban.

A tábla áttelepítésének futtatása

Az előkészítő feladatok futtatása után futtathatja a tábla áttelepítési munkafolyamatát az UCX által létrehozott README-jegyzetfüzetből vagy a munkaterület felhasználói felületén található Munkafolyamatok > feladatokból .

Az egyes munkafolyamat-feladatok kimenete a $inventory_database telepítés során megadott séma Delta-tábláiban lesz tárolva. Ezekkel a táblázatokkal további elemzéseket és döntéshozatalt végezhet. Előfordulhat, hogy többször is futtatnia kell a táblázatmigrálási munkafolyamatot, hogy az összes tábla frissítése sikeres legyen.

A teljes táblázatmigrálási utasításokért tekintse meg az UCX által létrehozott README-jegyzetfüzetet és az UCX-olvasóban található táblázatmigrálási munkafolyamatot .

További eszközök

Az UCX hibakeresési eszközöket és egyéb segédprogramokat is tartalmaz a migrálás sikeres végrehajtásához. További információt az UCX által létrehozott README-jegyzetfüzetben és az UCX-projekt readme-ében talál.

Az UCX-telepítés frissítése

Az UCX-projekt rendszeresen frissül. Az UCX-telepítés frissítése a legújabb verzióra:

  1. Ellenőrizze, hogy az UCX telepítve van-e.

    databricks labs installed
    
    Name  Description                            Version
    ucx   Unity Catalog Migration Toolkit (UCX)  0.20.0
    
  2. Futtassa a frissítést:

    databricks labs upgrade ucx
    

Segítség kérése

Az UCX parancssori felülettel kapcsolatos segítségért futtassa a következőt:

databricks labs ucx --help

Ha segítségre van szüksége egy adott UCX-parancshoz, futtassa a következőt:

databricks labs ucx <command> --help

Problémák elhárítása:

  • Futtassa --debug bármelyik paranccsal a hibakeresési naplók engedélyezéséhez.
  • Használja az UCX által automatikusan létrehozott hibakeresési jegyzetfüzetet.

Probléma vagy szolgáltatáskérés elküldéséhez küldjön egy GitHub-problémát.

UCX kibocsátási megjegyzések

Tekintse meg a változásnaplót az UCX GitHub-adattárban.