Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
HMS(Hive Metastore) -siirtymisen ensimmäisessä vaiheessa määritetään tietokannat, taulukot ja osiot, jotka haluat siirtää. Kaikkea ei tarvitse siirtää, vaan sitä ei tarvitse siirtää. Voit valita tietyt tietokannat. Kun tunnistat tietokantoja siirtämistä varten, varmista, että on hallittuja vai ulkoisia Spark-taulukoita.
HMS-huomioon otettavia seikkoja löytyy Azure Synapse Sparkin ja Fabricin välisistä eroista.
Muistiinpano
Vaihtoehtoisesti jos ADLS Gen2 sisältää Delta-taulukoita, voit luoda OneLake-pikakuvakkeen Delta-taulukkoon ADLS Gen2:ssa.
Edellytykset
- Jos sinulla ei vielä ole Fabric-työtilaa vuokraajassasi, luo Fabric-työtila .
- Jos sinulla ei vielä ole Fabric Lakehousea , luo Fabric Lakehouse työtilaasi.
Vaihtoehto 1: Vie ja tuo HMS Lakehouse-metakauppaan
Noudata näitä siirron tärkeimpiä vaiheita:
- Vaihe 1: metatietojen vieminen lähde-HMS:stä
- Vaihe 2: Tuo metatiedot lakehouseen Fabric-tiedostossa
- Siirron jälkeiset vaiheet: sisällön vahvistaminen
Muistiinpano
Skriptit kopioivat vain Sparkin katalogiobjekteja järvenrakennukseen Fabric-tilassa. Oletuksena on, että data on jo kopioitu (esimerkiksi varaston sijainnista ADLS Gen2:een) tai saatavilla hallittuihin ja ulkoisiin tauluihin (esimerkiksi pikakuvakkeiden kautta—suositeltavaa) järvenrakennukseen Fabric:ssa.
Vaihe 1: metatietojen vieminen lähde-HMS:stä
Vaiheen 1 painopiste on metatietojen viemisessä lähde-HMS:stä Fabric-järventalosi Tiedostot-osioon. Tämä prosessi on seuraava:
1.1) Tuo HMS-metatietojen vientimuistikirja Azure Synapse työtilaan. Tämä muistikirja tekee kyselyjä ja vie tietokantojen, taulukoiden ja osioiden HMS-metatiedot OneLakessa olevaan välihakemistoon (funktiot, joita ei vielä ole mukana). Sparkin sisäistä hakemiston ohjelmointirajapintaa käytetään tässä komentosarjassa luettelo-objektien lukemiseen.
1.2) Määritä ensimmäisen komennon parametrit metatietojen viemiseksi välitallennustilaan (OneLake). Lähde- ja kohdeparametrit määritetään seuraavalla katkelmassa. Varmista, että korvaat ne omilla arvoillasi.
// 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) Vie luettelo-objektit OneLakeen suorittamalla kaikki muistikirjakomennot. Kun solut on suoritettu, järjestelmä luo tämän välitulosteen hakemiston alla olevan kansiorakenteen.
Vaihe 2: Tuo metatiedot lakehouseen Fabric-tiedostossa
Vaihe 2 on, kun varsinainen metadata tuodaan välivarastosta järvenrakennukseen Fabric:ssa. Tämän vaiheen tuloksena kaikki HMS-metatiedot (tietokannat, taulukot ja osiot) on siirretty. Tämä prosessi on seuraava:
2.1) Luo pikakuvake Lakehousen "Tiedostot"-osioon . Tämän pikakuvakkeen on osoitettava lähteen Spark-varaston hakemistoon, ja sitä käytetään myöhemmin spark-hallittujen taulukoiden korvaamiseen. Näytä pikakuvakeesimerkit, jotka osoittavat Spark-varaston hakemistoon:
- Pikakuvakepolku Spark Azure Synapse varaston hakemistoon:
abfss://<container>@<storage_name>.dfs.core.windows.net/synapse/workspaces/<workspace_name>/warehouse - Pikakuvakepolku Azure Databricks -varaston hakemistoon:
dbfs:/mnt/<warehouse_dir> - HDInsight Spark -varastohakemiston pikakuvakepolku:
abfss://<container>@<storage_name>.dfs.core.windows.net/apps/spark/warehouse
- Pikakuvakepolku Spark Azure Synapse varaston hakemistoon:
2.2) Tuo HMS-metatietojen tuontimuistikirja Fabric-työtilaan. Tuo tämä muistikirja , jotta voit tuoda tietokanta-, taulukko- ja osio-objekteja välitallennustilasta. Tässä komentosarjassa käytetään Sparkin sisäistä hakemiston ohjelmointirajapintaa luettelo-objektien luomiseen Fabricissa.
2.3) Määritä ensimmäisen komennon parametrit . Kun luot hallitun taulukon Apache Sparkissä, kyseisen taulukon tiedot tallennetaan Sparkin itsensä hallitsemaan sijaintiin, joka on yleensä Sparkin varaston hakemistossa. Spark määrittää tarkan sijainnin. Tämä on ristiriidassa ulkoisten taulukoiden kanssa, joissa määritetään sijainti ja hallitaan pohjana olevia tietoja. Kun siirrät hallitun taulukon metatiedot (siirtämättä todellisia tietoja), metatiedot sisältävät yhä alkuperäiset sijaintitiedot, jotka osoittavat vanhaan Spark-varaston hakemistoon. Näin ollen hallittujen taulukoiden
WarehouseMappingskohdalla korvaamme käyttämällä vaiheessa 2.1 luotua pikakuvaketta. Kaikki lähteen hallitsemat taulukot muunnetaan ulkoisiksi taulukoiksi tämän komentosarjan avulla.LakehouseIdviittaa vaiheessa 2.1 luotuun Lakehouseen, joka sisältää pikakuvakkeet.// 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 = true2.4) Suorita kaikki muistikirjakomennot luettelo-objektien tuomiseksi välipolusta.
Muistiinpano
Kun tuot useita tietokantoja, voit (i) luoda yhden lakehouse-kohteen tietokantaa kohti (tässä käytetty lähestymistapa) tai (ii) siirtää kaikki taulukot eri tietokannoista yhteen Lakehouse-tietokantaan. Jälkimmäisessä tapauksessa kaikki siirretyt taulukot voivat olla <lakehouse>.<db_name>_<table_name>, ja sinun täytyy säätää tuontikirjaa sen mukaisesti.
Vaihe 3: Sisällön vahvistaminen
Vaihe 3 varmistaa, että metatiedot on siirretty onnistuneesti. Katso eri esimerkkejä.
Näet tuodut tietokannat suorittamalla:
%%sql
SHOW DATABASES
Voit tarkistaa kaikki Lakehouse (tietokanta) -tietokannan taulukot suorittamalla:
%%sql
SHOW TABLES IN <lakehouse_name>
Näet tietyn taulukon tiedot suorittamalla:
%%sql
DESCRIBE EXTENDED <lakehouse_name>.<table_name>
Vaihtoehtoisesti kaikki tuodut taulukot näkyvät Lakehouse Explorerin Käyttöliittymätaulukot-osassa kussakin lakehousessa.
Muuta huomioon otettavaa
- Skaalattavuus: Tässä ratkaisu käyttää sisäistä Spark-luettelon ohjelmointirajapintaa tuonnin/viennin suorittamiseen, mutta se ei ole yhteyden muodostaminen suoraan HMS:ään luettelo-objektien hakemiseksi, joten ratkaisua ei voi skaalata hyvin, jos luettelo on suuri. Sinun on muutettava vientilogiikkaa HMS DB:n avulla.
- Datan tarkkuus: Eristystakuuta ei ole, mikä tarkoittaa, että jos Spark-laskentamoottori tekee samanaikaisesti metastoreen muutoksia migraatiomuistikirjan ollessa käynnissä, epäjohdonmukaista dataa voidaan tuoda Lakehouseen Fabric:ssa.