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:
- Felmérési munkafolyamat a migrálás megtervezéséhez.
- 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.
- 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:
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éhezpyyaml
.
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:
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.
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
: .Egy SQL-raktár a telepítési folyamat futtatásához.
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.
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.
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ésiprincipal-prefix-access
hitelesí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étrehozottmigrate-credentials
tároló hitelesítő adatok használatával. - (Nem kötelező) A
create-catalogs-schemas
Unity 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:
Ellenőrizze, hogy az UCX telepítve van-e.
databricks labs installed Name Description Version ucx Unity Catalog Migration Toolkit (UCX) 0.20.0
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.