Fase 3: Hive-metastore en gegevensmigratie

Dit artikel is fase 3 van 4 in de best practices-reeks voor Azure Synapse Spark naar Microsoft Fabric migratie.

Gebruik dit artikel wanneer u klaar bent om uw Hive Metastore-catalogus te migreren en gegevenstoegang te plannen in Fabric. Dit artikel richt zich op twee beslissingen: het migreren van de metagegevens van uw tabel en of u OneLake-snelkoppelingen (nulkopie) wilt gebruiken of gegevens naar toegankelijke opslag verplaatst.

In dit artikel leert u het volgende:

  • Evalueer beheerde versus externe tabellen om uw migratiebenadering te bepalen.
  • Metagegevens van Hive Metastore exporteren en importeren met behulp van notebookwerkstromen.
  • Maak OneLake-snelkoppelingen voor nulkopietoegang tot bestaande gegevensbronnen.
  • Kies tussen snelkoppelingen, pijplijnen om te kopiëren en hulpmiddelen voor bulkoverdracht voor gegevensverplaatsing.

Aanbeveling

Maak uw doel Lakehouse met schema's ingeschakeld. Met Lakehouse-schema's kunt u tabellen ordenen in benoemde verzamelingen (bijvoorbeeld verkoop, marketing, hr). De Spark-migratie-assistent wijst de standaard Synapse-database toe aan het dbo-schema en extra databases aan aanvullende schema's in hetzelfde Lakehouse. Schema's worden standaard ingeschakeld bij het maken van een nieuw Lakehouse in de Fabric-portal.

Voor de volledige HMS-migratiehandleiding, zie Metagegevens van Hive Metastore migreren.

Beheerde versus externe tabellen evalueren

De kritieke eerste stap is het onderscheiden van beheerde gegevens van externe tabellen in uw Synapse Hive Metastore.

  • Externe tabellen: Als gegevens in ADLS Gen2 in Delta-indeling zijn, maakt u OneLake-snelkoppelingen rechtstreeks naar de ADLS Gen2-paden. Er is geen gegevensverplaatsing nodig.
  • Beheerde tabellen: Gegevens worden opgeslagen in de interne magazijnmap van Synapse. U moet OneLake-snelkoppelingen naar dit pad maken of gegevens kopiëren naar een toegankelijke ADLS Gen2-locatie.

Pad naar door Synapse beheerd tabellenmagazijnmap:

abfss://<container>@<storage>.dfs.core.windows.net/synapse/workspaces/<workspace>/warehouse

Migratiewerkstroom

Microsoft biedt export-/importnotebooks voor Hive Metastore-migratie. Het proces heeft twee fasen.

Voor de volledige HMS-migratiehandleiding, zie Metagegevens migreren van Hive Metastore.

Fase 1: Metagegevens exporteren uit Synapse

  1. Importeer het HMS-exportnotitieblok in uw Azure Synapse werkruimte. Met dit notebook worden HMS-metagegevens van databases, tabellen en partities opgevraagd en geëxporteerd naar een tussenliggende map in OneLake.

  2. Parameters configureren. Stel de naam van uw Synapse-werkruimte, databasenamen in die u wilt exporteren en het doel-OneLake Lakehouse voor fasering. De interne Spark-catalogus-API wordt gebruikt om catalogusobjecten te lezen.

  3. Voer de export uit. Voer alle notebookcellen uit. Metagegevens worden in de Bestanden-sectie van uw Fabric Lakehouse geschreven in een hiërarchische mappenstructuur.

Fase 2: Metagegevens importeren in Fabric Lakehouse

  1. Snelkoppelingen maken voor gegevenstoegang. Maak een snelkoppeling in de Bestandensectie van het Lakehouse die verwijst naar de Synapse Spark-warehousedirectory. Hierdoor zijn beheerde tabelgegevens toegankelijk voor Fabric.

  2. Configureer magazijntoewijzingen. Gebruik voor beheerde tabellen WarehouseMappings om verouderde Synapse-magazijnmappaden te vervangen door de snelkoppelingspaden in Fabric. Alle beheerde tabellen worden tijdens het importeren geconverteerd naar externe tabellen.

  3. Voer het importnotebook uit in Fabric om catalogusobjecten (databases, tabellen, partities) in de Lakehouse te creëren met behulp van de interne catalogus-API van Spark.

  4. Controleren. Controleer of alle geïmporteerde tabellen zichtbaar zijn in de sectie Tabellen van de Gebruikersinterface van Lakehouse Explorer.

Beperkingen en overwegingen

  • De migratiescripts maken gebruik van de interne catalogus-API van Spark, niet directe HMS-databaseverbindingen. Dit kan niet goed worden geschaald voor zeer grote catalogi. Voor grote omgevingen kunt u overwegen de exportlogica te wijzigen om rechtstreeks een query uit te voeren op de HMS-database.

  • Er is geen isolatiegarantie tijdens de export. Als Synapse Spark-berekening de metastore gelijktijdig wijzigt, kunnen inconsistente gegevens worden geïntroduceerd. Plan de migratie tijdens een onderhoudsvenster.

  • Functies zijn niet opgenomen in de huidige migratiescripts.

  • Na de migratie bieden OneLake-snelkoppelingen doorlopende gegevenstoegang. Als Synapse blijft schrijven naar dezelfde ADLS Gen2-paden, Fabric de bijgewerkte gegevens automatisch via snelkoppelingen (synchronisatie op gegevensniveau) ziet. Nieuwe tabellen of schemawijzigingen in synapse HMS worden echter niet automatisch doorgegeven. U moet de migratiescripts opnieuw uitvoeren of handmatig nieuwe tabellen maken in de Fabric Lakehouse.

  • External Hive Metastore (Azure SQL DB/ MySQL): Sommige Synapse-werkruimten gebruiken een externe HMS die wordt ondersteund door Azure SQL Database of Azure Database for MySQL om catalogusmetagegevens buiten de werkruimte te behouden en te delen met HDInsight of Databricks. Fabric biedt geen ondersteuning voor het maken van verbinding met een externe Hive-metastore. Deze maakt uitsluitend gebruik van de Lakehouse-catalogus. Als u een externe HMS gebruikt, moet u de metagegevens migreren naar de Fabric Lakehouse-catalogus. U kunt dit doen door rechtstreeks (via JDBC) een query uit te voeren op de externe HMS-database om tabeldefinities te exporteren en deze vervolgens opnieuw te maken in Fabric met behulp van Spark SQL of de HMS-importnotebooks. Houd er rekening mee dat externe HMS-ondersteuning in Synapse is afgeschaft na Spark 3.4.

Aanbeveling

Voor doorlopende synchronisatie wanneer synapse en Fabric actief zijn: gebruik OneLake-snelkoppelingen voor synchronisatie op gegevensniveau (automatisch) en plan periodieke heruitvoeringen van de HMS-export-/importnotebooks of bouw een afstemmingsnotitieblok om nieuwe tabellen te detecteren en te synchroniseren.

Opties voor gegevensmigratie

U hebt gegevens in ADLS Gen2 gekoppeld aan uw Synapse-werkruimte die u toegankelijk moet maken in Fabric Lakehouse zonder onnodige gegevensduplicatie. Kies een van de volgende benaderingen.

  • OneLake-snelkoppelingen (aanbevolen, nulkopie): Snelkoppelingen maken in Fabric Lakehouse die verwijst naar uw bestaande ADLS Gen2-paden. Deltaformatgegevens in de sectie Tabellen worden automatisch geregistreerd in de Lakehouse-catalogus. CSV-/JSON-/Parquet-gegevens worden weergegeven in de sectie Bestanden. Er is geen gegevensverplaatsing vereist.

  • mssparkutils fastcp: Voor het kopiëren van gegevens van ADLS Gen2 naar OneLake in notebooks.

  • AzCopy: opdrachtregelprogramma voor het bulksgewijs kopiëren van ADLS Gen2 naar OneLake.

  • Data Factory Copy Activity: Gebruik Fabric Data Factory (of bestaande ADF/Synapse-pijplijnen) om gegevens naar lakehouse te kopiëren.

  • Azure Storage Explorer: Visual-hulpprogramma voor het verplaatsen van bestanden van ADLS Gen2 naar OneLake.

Aanbeveling

Geef waar mogelijk de voorkeur aan sneltoetsen boven gegevensverplaatsing. Snelkoppelingen voorkomen duplicatie van gegevens en opslagkosten, en Delta-tabellen in de sectie Tabellen kunnen automatisch worden gedetecteerd in het SQL-analyse-eindpunt en Power BI.