Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article est la troisième phase sur quatre de la série de meilleures pratiques de migration de Azure Synapse Spark vers Microsoft Fabric.
Utilisez cet article lorsque vous êtes prêt à migrer votre catalogue metastore Hive et à planifier l'accès aux données dans Fabric. Cet article se concentre sur deux décisions : comment migrer vos métadonnées de table et s’il faut utiliser des raccourcis OneLake (copie zéro) ou déplacer des données vers un stockage accessible.
Dans cet article, vous allez apprendre à :
- Évaluez les tables managées et externes pour déterminer votre approche de migration.
- Exportez et importez les métadonnées du Metastore Hive en utilisant des workflows de notebooks.
- Créez des raccourcis OneLake pour l’accès sans copie aux sources de données existantes.
- Choisissez entre les raccourcis, les pipelines de copie et les outils de transfert en bloc pour le déplacement des données.
Conseil / Astuce
Créez votre lakehouse cible avec les schémas activés. Les schémas Lakehouse vous permettent d’organiser des tables en collections nommées (par exemple, ventes, marketing, hr). L'assistant de migration Spark associe la base de données Synapse par défaut au schéma dbo et associe les bases de données supplémentaires à des schémas supplémentaires dans le même Lakehouse. Les schémas sont activés par défaut lors de la création d’un lakehouse dans le portail Fabric.
Pour obtenir le guide de migration HMS complet, consultez Migrer les métadonnées du metastore Hive.
Évaluer les tables managées et externes
La première étape critique consiste à distinguer les tables gérées des tables externes dans votre metastore Hive Synapse.
- Tables externes : Si les données se trouvent dans ADLS Gen2 au format Delta, créez des raccourcis OneLake directement vers les chemins ADLS Gen2. Aucun déplacement de données n’est nécessaire.
- Tables managées : Les données sont stockées dans le répertoire d’entrepôt interne de Synapse. Vous devez créer des raccourcis OneLake vers ce chemin d’accès ou copier des données vers un emplacement ADLS Gen2 accessible.
Chemin d’accès au répertoire de l’entrepôt de tables managées Synapse :
abfss://<container>@<storage>.dfs.core.windows.net/synapse/workspaces/<workspace>/warehouse
Workflow de la migration
Microsoft fournit des notebooks d’exportation/importation pour la migration du Metastore Hive. Le processus comporte deux phases.
Pour obtenir le guide de migration HMS complet, consultez Migrer les métadonnées du metastore Hive.
Phase 1 : Exporter des métadonnées à partir de Synapse
Importez le notebook d’exportation HMS dans votre espace de travail Azure Synapse. Ce notebook interroge et exporte les métadonnées HMS des bases de données, des tables et des partitions vers un répertoire intermédiaire dans OneLake.
Configurez les paramètres. Définissez le nom de votre espace de travail Synapse, les noms de base de données à exporter et le lac OneLake cible pour la mise en scène. L’API de catalogue interne Spark est utilisée pour lire des objets catalogue.
Exécutez l’exportation. Exécutez toutes les cellules du bloc-notes. Les métadonnées sont écrites dans la section Fichiers de votre Fabric Lakehouse dans une hiérarchie de dossiers structurées.
Phase 2 : Importer des métadonnées dans Fabric Lakehouse
Créez des raccourcis pour l’accès aux données. Créez un raccourci dans la section Fichiers de Lakehouse pointant vers le répertoire de l’entrepôt Synapse Spark. Cela rend les données de table gérées accessibles à Fabric.
Configurez les mappages d’entrepôt. Pour les tables gérées, fournissez
WarehouseMappingspour remplacer les anciens chemins d’annuaire de l’entrepôt Synapse par les chemins rapides dans Fabric. Toutes les tables managées sont converties en tables externes pendant l’importation.Exécutez le notebook d'importation dans Fabric pour créer des objets de catalogue (bases de données, tables, partitions) dans le Lakehouse en utilisant l'API de catalogue interne de Spark.
Vérifier. Vérifiez que toutes les tables importées sont visibles dans la section Tables de l’interface utilisateur de Lakehouse Explorer.
Limitations et considérations
Les scripts de migration utilisent l’API de catalogue interne de Spark, et non les connexions de base de données HMS directes. Cela peut ne pas être correctement mis à l’échelle pour les catalogues très volumineux : pour les environnements volumineux, envisagez de modifier la logique d’exportation pour interroger directement la base de données HMS.
Aucune garantie d’isolation n’est garantie pendant l’exportation. Si le calcul Synapse Spark modifie le metastore simultanément, des données incohérentes peuvent être introduites. Planifiez la migration pendant une fenêtre de maintenance.
Les fonctions ne sont pas incluses dans les scripts de migration actuels.
Après la migration, les raccourcis OneLake fournissent un accès continu aux données. Si Synapse continue d’écrire dans les mêmes chemins ADLS Gen2, Fabric voit automatiquement les données mises à jour via des raccourcis (synchronisation au niveau des données). Toutefois, les nouvelles tables ou modifications de schéma dans Synapse HMS ne se propageront pas automatiquement : vous devez réexécuter les scripts de migration ou créer manuellement de nouvelles tables dans le Fabric Lakehouse.
Metastore Hive Externe (Azure SQL DB / MySQL) : Certains espaces de travail Synapse utilisent un HMS externe pris en charge par Azure SQL Database ou Azure Database pour MySQL pour conserver les métadonnées du catalogue en dehors de l’espace de travail et les partager avec HDInsight ou Databricks. Fabric ne prend pas en charge la connexion à un metastore Hive externe. Il utilise exclusivement le catalogue Lakehouse. Si vous utilisez un HMS externe, vous devez migrer les métadonnées dans le catalogue Fabric Lakehouse. Pour ce faire, interrogez directement la base de données HMS externe (via JDBC) pour exporter les définitions de table, puis les recréer dans Fabric à l’aide de Spark SQL ou des notebooks d’importation HMS. Notez que la prise en charge HMS externe dans Synapse est déconseillée après Spark 3.4.
Conseil / Astuce
Pour la synchronisation en cours lorsque Synapse et Fabric sont actifs : utilisez des raccourcis OneLake pour la synchronisation au niveau des données (automatique) et planifiez une réexécriture périodique des notebooks d’exportation/importation HMS ou créez un bloc-notes de rapprochement pour détecter et synchroniser de nouvelles tables.
Options de migration de données
Vous disposez de données dans ADLS Gen2 liées à votre espace de travail Synapse que vous devez rendre accessibles dans Fabric Lakehouse sans duplication de données inutile. Choisissez parmi les approches suivantes.
OneLake Shortcuts (recommandé, zero-copy) : Créez des raccourcis dans Fabric Lakehouse qui pointent vers vos chemins ADLS Gen2 existants. Données au format delta dans la section des tables sont automatiquement enregistrées dans le catalogue Lakehouse. Les données CSV/JSON/Parquet sont décrites dans la section Fichiers. Aucun déplacement de données n’est requis.
mssparkutils fastcp : Pour copier des données d’ADLS Gen2 vers OneLake dans des notebooks.
AzCopy : utilitaire de ligne de commande pour la copie de données en bloc d’ADLS Gen2 vers OneLake.
Data Factory Copy Activity : Utilisez Fabric Data Factory (ou des pipelines existants ADF/Synapse) pour copier des données dans le Lakehouse.
Explorateur Stockage Azure : Outil visuel pour déplacer des fichiers d’ADLS Gen2 vers OneLake.
Conseil / Astuce
Préférer les raccourcis au déplacement des données dans la mesure du possible. Les raccourcis évitent les coûts de duplication et de stockage des données, et les tables Delta de la section Tables sont automatiquement détectables dans le point de terminaison d’analyse SQL et les Power BI.