Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo è la Fase 3 di 4 della serie delle procedure consigliate per la migrazione da Azure Synapse Spark a Microsoft Fabric.
Usare questo articolo quando si è pronti per eseguire la migrazione del catalogo Hive Metastore e per pianificare come accedere ai dati in Fabric. Questo articolo è incentrato su due decisioni: come eseguire la migrazione dei metadati della tabella e se usare i collegamenti OneLake (zero-copy) o spostare i dati nell'archiviazione accessibile.
In questo articolo vengono illustrate le operazioni seguenti:
- Valutare le tabelle gestite e esterne per determinare l'approccio alla migrazione.
- Esportare e importare metadati metastore Hive usando i flussi di lavoro dei notebook.
- Creare scorciatoie OneLake per un accesso diretto senza copia alle origini dati esistenti.
- Scegli tra scorciatoie, pipeline di copia e strumenti di trasferimento in blocco per lo spostamento dei dati.
Suggerimento
Crea il Lakehouse di destinazione con gli schemi abilitati. Gli schemi Lakehouse consentono di organizzare tabelle in raccolte denominate, ad esempio vendite, marketing, risorse umane. Spark Migration Assistant mappa il database Synapse predefinito allo schema dbo e i database supplementari a schemi aggiuntivi nello stesso Lakehouse. Gli schemi sono abilitati per impostazione predefinita durante la creazione di un nuovo lakehouse nel portale di Fabric.
Per la guida completa alla migrazione di HMS, vedere Eseguire la migrazione dei metadati del metastore Hive.
Valutare le tabelle gestite ed esterne
Il primo passaggio critico consiste nel distinguere le tabelle gestite da tabelle esterne nel metastore Hive di Synapse.
- Tabelle esterne: Se i dati si trovano in ADLS Gen2 in formato Delta, creare collegamenti OneLake direttamente ai percorsi di ADLS Gen2. Nessun spostamento dei dati necessario.
- Tabelle gestite: I dati vengono archiviati nella directory del warehouse interna di Synapse. È necessario creare collegamenti rapidi OneLake a questo percorso o copiare i dati in un percorso ADLS Gen2 accessibile.
Percorso della directory del warehouse di tabelle gestite di Synapse:
abfss://<container>@<storage>.dfs.core.windows.net/synapse/workspaces/<workspace>/warehouse
Flusso di lavoro della migrazione
Microsoft fornisce notebook di esportazione/importazione per la migrazione del Metastore di Hive. Il processo ha due fasi.
Per la guida completa alla migrazione di HMS, vedere Eseguire la migrazione dei metadati del metastore Hive.
Fase 1: Esportare i metadati da Synapse
Importare il notebook di esportazione HMS nell'area di lavoro Azure Synapse. Questo notebook esegue query ed esporta metadati HMS di database, tabelle e partizioni in una directory intermedia in OneLake.
Configurare i parametri. Imposta il nome dell'area di lavoro di Synapse, i nomi dei database da esportare e la lakehouse di OneLake di destinazione per il staging. L'API del catalogo interno di Spark viene usata per leggere gli oggetti del catalogo.
Eseguire l'esportazione. Eseguire tutte le celle del notebook. I metadati vengono scritti nella sezione File del Fabric Lakehouse in una gerarchia di cartelle strutturata.
Fase 2: Importare metadati in Fabric Lakehouse
Creare collegamenti per l'accesso ai dati. Creare un collegamento all'interno della sezione File di Lakehouse che punta alla directory del warehouse di Synapse Spark. In questo modo i dati della tabella gestita sono accessibili alle Fabric.
Configurare le mappature del magazzino. Per le tabelle gestite, specificare
WarehouseMappingsper sostituire i percorsi di directory del Synapse Warehouse precedenti con i percorsi scorciatoia in Fabric. Tutte le tabelle gestite vengono convertite in tabelle esterne durante l'importazione.Eseguire il notebook di importazione in Fabric per creare oggetti di catalogo (database, tabelle, partizioni) in Lakehouse usando l'API del catalogo interna di Spark.
Verifica. Verificare che tutte le tabelle importate siano visibili nella sezione Tabelle dell'interfaccia utente di Lakehouse Explorer.
Limitazioni e considerazioni
Gli script di migrazione usano l'API del catalogo interna di Spark, non le connessioni dirette al database HMS. Ciò potrebbe non essere scalabile correttamente per cataloghi di grandi dimensioni: per ambienti di grandi dimensioni, è consigliabile modificare la logica di esportazione per eseguire direttamente query sul database HMS.
Non esiste alcuna garanzia di isolamento durante l'esportazione. Se il calcolo di Synapse Spark modifica simultaneamente il metastore, potrebbero essere introdotti dati incoerenti. Pianificare la migrazione durante una finestra di manutenzione.
Le funzioni non sono incluse negli script di migrazione correnti.
Dopo la migrazione, le scorciatoie di OneLake forniscono un accesso continuo ai dati. Se Synapse continua a scrivere negli stessi percorsi di ADLS Gen2, Fabric visualizza automaticamente i dati aggiornati tramite scorciatoie (sincronizzazione a livello di dati). Tuttavia, le nuove tabelle o le modifiche dello schema in Synapse HMS non verranno propagate automaticamente. È necessario eseguire nuovamente gli script di migrazione o creare manualmente nuove tabelle in Fabric Lakehouse.
Esternal Hive Metastore (Azure SQL DB/MySQL): Alcune aree di lavoro di Synapse usano un HMS esterno supportato da database SQL di Azure o Database di Azure per MySQL per rendere persistenti i metadati del catalogo all'esterno dell'area di lavoro e condividerli con HDInsight o Databricks. Fabric non supporta la connessione a un metastore Hive esterno, ma usa esclusivamente il catalogo Lakehouse. Se si usa un modulo HMS esterno, è necessario eseguire la migrazione dei metadati nel catalogo Fabric Lakehouse. A tale scopo, è possibile eseguire una query direttamente sul database HMS esterno (tramite JDBC) per esportare le definizioni di tabella e ricrearle in Fabric usando Spark SQL o i notebook di importazione HMS. Si noti che il supporto HMS esterno in Synapse è deprecato dopo Spark 3.4.
Suggerimento
Per la sincronizzazione continua quando sono attivi sia Synapse che Fabric: usare i collegamenti OneLake per la sincronizzazione a livello di dati (automatico) e pianificare riesecuzioni periodiche dei notebook di esportazione/importazione HMS o creare un notebook di riconciliazione per rilevare e sincronizzare nuove tabelle.
Opzioni di migrazione dei dati
Si dispone di dati in ADLS Gen2 collegati all'area di lavoro di Synapse che è necessario rendere accessibili in Fabric Lakehouse senza duplicazione dei dati non necessaria. Scegliere uno degli approcci seguenti.
OneLake Shortcuts (scelta consigliata, zero-copy): Crea collegamenti in Fabric Lakehouse che punta ai percorsi ADLS Gen2 esistenti. Dati in formato delta nella sezione Tabelle si registrano automaticamente nel catalogo Lakehouse. I dati CSV/JSON/Parquet vengono inseriti nella sezione File. Non è necessario alcun spostamento dei dati.
mssparkutils fastcp: Per copiare dati da ADLS Gen2 a OneLake all'interno dei notebook.
AzCopy: Utilità della riga di comando per la copia bulk dei dati da ADLS Gen2 a OneLake.
Data Factory Copy Activity: Usare Fabric Data Factory (o pipeline ADF/Synapse esistenti) per copiare i dati in Lakehouse.
Azure Storage Explorer: Strumento visivo per lo spostamento di file da ADLS Gen2 a OneLake.
Suggerimento
Preferisce i tasti di scelta rapida rispetto al movimento dei dati quando possibile. I collegamenti evitano la duplicazione dei dati e i costi di archiviazione e le tabelle Delta nella sezione Tabelle sono individuabili automaticamente nell'endpoint di analisi SQL e Power BI.