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 UCX, egy Databricks Labs-projektet, amely eszközöket biztosít a nemUnity-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. Táblamigrálási folyamat a munkaterület Hive metaadattárában regisztrált táblák áttelepítéséhez a Unity Catalog metaadattárba. 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.

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

  • Databricks CLI v0.213 vagy újabb. Lásd: A Databricks parancssori felületének 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ületi régiókban, hogyan hozhat létre metaadattárat, ha nem, és hogyan csatolhat Unity-katalógus metaadattárat egy munkaterülethez, olvassa el 1. lépés: Győződjön meg arról, hogy a munkaterület engedélyezve van a Unity Catalog 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 identitás-összevonásiis, amelyben az Azure Databricks-fiók szintjén központosíthatja a felhasználókezelést, ami szintén előfeltétele az UCX használatának. 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

Arra van felszólítva, hogy válassza ki a következőket:

  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 érdemes az alapértelmezett beállítást választani, amely 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 kimenetét a telepítés során megadott $inventory_database séma Delta-táblái tárolják. Ezekkel a táblázatokkal további elemzéseket és döntéshozatalt végezhet egy értékelési jelentéshaszná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 kimenetét a telepítés során megadott $inventory_database séma Delta-táblái tárolják. 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 Unity Katalógusban külső táblákként frissülnek a SYNCáltal. A munkaterület-tárolóban (más néven DBFS-gyökér) tárolt Hive-metaadattárban lévő felügyelt táblák a Unity Catalogban felügyelt táblákként vannak frissítve DEEP CLONEhaszná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álatacímű témakörben felsorolt adatformátumok egyikében kell lenniük.

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

Az áttepelítési munkafolyamat végrehajtása előtt érdemes végrehajtani azokat az előkészítő feladatokat, amelyeket a táblák áttepelítése magában foglal. 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 szolgáltatási fő példányt, amely csak olvasási hozzáféréssel rendelkezik a munkaterület táblái által használt összes tárhelyhez. 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 parancs, amely a Unity Catalog tárolási hitelesítő adatait hozza létre a principal-prefix-accessáltal azonosított tárelérési hitelesítő adatokból.
  • (Nem kötelező) A migration locations parancs, amely a Unity Catalog külső helyeit hozza létre az értékelési munkafolyamat által azonosított tárolóhelyekről, a migrate-credentialsáltal létrehozott tároló hitelesítő adatok használatával.
  • (Nem kötelező) A create-catalogs-schemasparancs, amely unitykatalógusokat és sémákat hoz létre, amelyek a frissített táblákat tartalmazzák.

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

Táblamigráció futtatása

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

Az egyes munkafolyamat-feladatok kimenetét a telepítés során megadott $inventory_database séma Delta-táblái tárolják. 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 fájlt és a Táblamigrálási Munkafolyamatot az UCX README fájlban.

További eszközök

Az UCX a következőket is tartalmazza:

  • Segédprogramok a Hive-metaadattár-összevonás engedélyezésére, az Azure Databricks integrációs eszköze, amely lehetővé teszi, hogy a Unity Catalog a Hive-metaadattárban regisztrált táblákat szabályozza.

    • enable-hms-federation
    • create-federated-catalog

    A Hive metastore-föderáció segít a migrációban azáltal, hogy lehetőséget biztosít a számítási feladatok futtatására mind a régi Hive metaadattárban, mind annak Unity Catalogban lévő tükörverzióján, így megkönnyítve az átállást a Unity Catalogra. További információ a Hive metaadattár-összevonás migrálási forgatókönyvben való használatáról: Hogyan használható a Hive metaadattár-összevonás a Unity-katalógusba való migrálás során?.

  • Hibakeresési eszközök és egyéb segédprogramok 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.