Migrácia metaúdajov metaúdajov Metastore služby Hive zo služby Azure Synapse Analytics do služby Fabric
Počiatočný krok migrácie metaúdajov Hive (HMS) zahŕňa určenie databáz, tabuliek a oblastí, ktoré chcete preniesť. Nie je potrebné migrovať všetko; môžete vybrať konkrétne databázy. Pri identifikácii databáz na migráciu nezabudnite overiť, či existujú spravované alebo externé tabuľky služby Spark.
Dôležité informácie týkajúce sa HMS nájdete v časti rozdiely medzi službami Azure Synapse Spark a Fabric.
Poznámka
Prípadne, ak váš ADLS Gen2 obsahuje tabuľky Delta, môžete vytvoriť odkaz OneLake na tabuľku Delta v službe ADLS Gen2.
Požiadavky
- Ak ešte nemáte pracovný priestor služby Fabric, vytvorte ho vo svojom nájomníkovi.
- Ak ho ešte nemáte, vytvorte vo svojom pracovnom priestore jazero služby Fabric.
Možnosť 1: Export a import HMS do metastore lakehouse
Postupujte podľa týchto kľúčových krokov migrácie:
- Krok 1: Export metaúdajov zo zdroja HMS
- Krok 2: Import metaúdajov do útla Fabric lakehouse
- Kroky po migrácii: Overenie obsahu
Poznámka
Skripty iba kopírujú objekty katalógu Spark do služby Fabric lakehouse. Predpoklad je, že údaje sa už kopírujú (napríklad zo skladu do služby ADLS Gen2) alebo sú k dispozícii pre spravované a externé tabuľky (napríklad prostredníctvom skratiek – preferované) do jazera Fabric.
Krok 1: Export metaúdajov zo zdroja HMS
Krok 1 je zameraný na export metaúdajov zo zdroja HMS do časti Súbory vášho jazera Fabric. Tento proces je takýto:
1.1. Importujte poznámkový blok exportu metaúdajov HMS do pracovného priestoru Azure Synapse. Tento poznámkový blok dotazuje a exportuje metaúdaje HMS databáz, tabuliek a oblastí do prechodného adresára v službe OneLake (funkcie, ktoré ešte nie sú zahrnuté). Rozhranie API interného katalógu Spark sa používa v tomto skripte na čítanie objektov katalógu.
1.2) Nakonfigurujte parametre v prvom príkaze na export informácií o metaúdajoch do stredne ukladacieho priestoru (OneLake). Nasledujúci úryvok kódu sa používa na konfiguráciu parametrov zdroja a cieľa. Uistite sa, že ich nahradíte vlastnými hodnotami.
// Azure Synapse workspace config var SynapseWorkspaceName = "<synapse_workspace_name>" var DatabaseNames = "<db1_name>;<db2_name>" var SkipExportTablesWithUnrecognizedType:Boolean = false // Fabric config var WorkspaceId = "<workspace_id>" var LakehouseId = "<lakehouse_id>" var ExportFolderName = f"export/${SynapseWorkspaceName}/sparkCatalogMetadata" var OutputFolder = f"abfss://${WorkspaceId}@onelake.dfs.fabric.microsoft.com/${LakehouseId}/Files/${ExportFolderName}/"
1.3) Spustite všetky príkazy poznámkového bloku na export objektov katalógu do OneLake. Po dokončení buniek sa táto štruktúra priečinkov vytvorí v rámci prechodného výstupného adresára.
Krok 2: Import metaúdajov do útla Fabric lakehouse
Krok č. 2 spočíva v tom, že skutočné metaúdaje sa importujú zo prechodného úložiska do úložiska Fabric lakehouse. Výstupom tohto kroku je migrácia všetkých metaúdajov HMS (databáz, tabuliek a oblastí). Tento proces je takýto:
2.1) Vytvorte odkaz v rámci sekcie "Súbory" v lakehouse. Táto skratka musí odkazovať na zdrojový adresár skladu Spark a neskôr sa používa na náhradu za spravované tabuľky služby Spark. Pozrite si príklady odkazov odkazuvých na adresár skladu Spark:
- Shortcut path to Azure Synapse Spark warehouse directory:
abfss://<container>@<storage_name>.dfs.core.windows.net/synapse/workspaces/<workspace_name>/warehouse
- Odkaz na cestu k adresáru skladu Azure Databricks:
dbfs:/mnt/<warehouse_dir>
- Shortcut path to HDInsight Spark warehouse directory:
abfss://<container>@<storage_name>.dfs.core.windows.net/apps/spark/warehouse
- Shortcut path to Azure Synapse Spark warehouse directory:
2.2) Importujte poznámkový blok importu metaúdajov HMS do pracovného priestoru služby Fabric. Importujte tento poznámkový blok na importovanie databáz, tabuliek a oblastí z priebežného ukladacieho priestoru. Rozhranie API pre interný katalóg Spark sa používa v tomto skripte na vytváranie objektov katalógu v službe Fabric.
2.3) Nakonfigurujte parametre v prvom príkaze. Keď v Apache Spark vytvoríte spravovanú tabuľku, údaje pre túto tabuľku sú uložené v umiestnení spravovanom samotnou službou Spark, zvyčajne v skladovom adresári Spark. Presné umiestnenie určuje Spark. Je to v kontraste s externými tabuľkami, kde špecifikujete umiestnenie a spravujete základné údaje. Pri migrácii metaúdajov spravovanej tabuľky (bez premiestnenia skutočných údajov) metaúdaje stále obsahujú pôvodné informácie o umiestnení odkazujúce na starý adresár skladu Spark. V prípade spravovaných tabuliek
WarehouseMappings
sa preto používa na nahradenie pomocou odkazu vytvoreného v kroku 2.1. Všetky zdrojové spravované tabuľky sa skonvertujú ako externé tabuľky pomocou tohto skriptu.LakehouseId
odkazuje na lakehouse vytvorené v kroku 2.1, ktorý obsahuje skratky.// Azure Synapse workspace config var ContainerName = "<container_name>" var StorageName = "<storage_name>" var SynapseWorkspaceName = "<synapse_workspace_name>" // Fabric config var WorkspaceId = "<workspace_id>" var LakehouseId = "<lakehouse_id>" var ExportFolderName = f"export/${SynapseWorkspaceName}/sparkCatalogMetadata" var ShortcutName = "<warehouse_dir_shortcut_name>" var WarehouseMappings:Map[String, String] = Map( f"abfss://${ContainerName}@${StorageName}.dfs.core.windows.net/synapse/workspaces/${SynapseWorkspaceName}/warehouse"-> f"abfss://${WorkspaceId}@onelake.dfs.fabric.microsoft.com/${LakehouseId}/Files/${ShortcutName}" ) var OutputFolder = f"abfss://${WorkspaceId}@onelake.dfs.fabric.microsoft.com/${LakehouseId}/Files/${ExportFolderName}/" var DatabasePrefix = "" var TablePrefix = "" var IgnoreIfExists = true
2.4) Spustite všetky príkazy poznámkového bloku na import objektov katalógu zo strednej cesty.
Poznámka
Pri importovaní viacerých databáz môžete (i) vytvoriť jeden lakehouse na databázu (prístup, ktorý sa tu používa) alebo (ii) premiestniť všetky tabuľky z rôznych databáz do jedného jazera. V takom prípade môžu byť <lakehouse>.<db_name>_<table_name>
všetky migrované tabuľky a preto bude potrebné upraviť poznámkový blok importu.
Krok č. 3: Overenie obsahu
Krok 3 je miesto, kde môžete overiť, či sa metaúdaje migrovali úspešne. Pozrite si rôzne príklady.
Importované databázy môžete zobraziť spustením príkazu:
%%sql
SHOW DATABASES
Môžete skontrolovať všetky tabuľky v lakehouse (databáza) spustením:
%%sql
SHOW TABLES IN <lakehouse_name>
Podrobnosti konkrétnej tabuľky môžete zobraziť spustením príkazu:
%%sql
DESCRIBE EXTENDED <lakehouse_name>.<table_name>
Prípadne sú všetky importované tabuľky viditeľné v časti UI tabuliek prieskumníka Lakehouse pre každý domov jazera.
Ďalšie dôležité informácie
- Škálovateľnosť: Toto riešenie používa interné rozhranie API pre katalóg Spark na import/export, ale nepripája sa priamo k hms, aby sa získali objekty katalógu, takže riešenie sa nedokáže prispôsobiť, ak je katalóg veľký. Logiku exportu je potrebné zmeniť pomocou databázy HMS DB.
- Presnosť údajov: Neexistuje žiadna záruka izolácie, čo znamená, že ak výpočtový nástroj Spark vykonáva súbežné úpravy metastore počas spustenia poznámkového bloku migrácie, v službe Fabric lakehouse je možné zavedená nekonzistentné údaje.
Súvisiaci obsah
- Fabric vs Azure Synapse Spark
- Ďalšie informácie o možnostiach migrácie pre fondy Spark, konfigurácie, knižnice, poznámkové bloky a definíciu úloh služby Spark