Aide et astuces pour accéder aux données Azure Cosmos DB en miroir dans Lakehouse et notebooks à partir de Microsoft Fabric (préversion)
Dans ce guide, vous apprendrez comment accéder aux données Azure Cosmos DB en miroir dans Lakehouse et les notebooks depuis Microsoft Fabric (préversion).
Important
La mise en miroir d'Azure Cosmos DB est actuellement en préversion. Les charges de travail de production ne sont pas prises en charge dans la préversion. Seuls les comptes Azure Cosmos DB for NoSQL sont pris en charge.
Prérequis
- Un compte Azure Cosmos DB for NoSQL existant.
- Si vous n’avez pas d’abonnement Azure, essayez gratuitement Azure Cosmos DB for NoSQL.
- Si vous disposez d’un abonnement Azure, créez un compte Azure Cosmos DB for SQL.
- Une capacité existante de Microsoft Fabric. Si vous ne disposez d'aucune capacité existante, démarrez une version d'évaluation de Microsoft Fabric.
- Activez la mise en miroir dans votre client ou un espace de travail Microsoft Fabric. Si les caractéristiques ne sont pas déjà activées, activez la mise en miroir dans votre client Microsoft Fabric.
- Le compte Azure Cosmos DB for NoSQL doit être configuré pour la mise en miroir Microsoft Fabric. Pour plus d'informations, consultez exigences relatives au compte.
Conseil
Pendant la préversion publique, il est recommandé d'utiliser une copie de test ou de développement de vos données Azure Cosmos DB existantes qui peuvent être récupérées rapidement à partir d'une sauvegarde.
Configurer la mise en miroir et les prérequis
Configurez la mise en miroir pour la base de données Azure Cosmos DB for NoSQL. Si vous ne savez pas comment configurer la mise en miroir, reportez-vous au tutoriel de configuration de base de données miroir.
Accédez au portail Microsoft Fabric.
Créez une connexion et une base de données miroir à l'aide des identifiants de votre compte Azure Cosmos DB.
Patientez que la réplication termine la capture instantanée initiale des données.
Accéder aux données miroir dans Lakehouse et les notebooks
Utilisez Lakehouse pour étendre davantage le nombre d'outils que vous pouvez utiliser pour analyser vos données Azure Cosmos DB for NoSQL en miroir. Ici, vous utilisez Lakehouse pour créer un notebook Spark pour interroger vos données.
Accédez à la page d'accueil du portail Microsoft Fabric.
Dans le menu de navigation, sélectionnez Créer.
Sélectionnez Créer, recherchez la section Ingénieurs de données, puis sélectionnez Lakehouse.
Spécifiez un nom pour Lakehouse, puis sélectionnez Créer.
Sélectionnez à présent Obtenir des données, puis Nouveau raccourci. Dans la liste des options de raccourci, sélectionnez Microsoft OneLake.
Sélectionnez la base de données Azure Cosmos DB for NoSQL en miroir dans la liste des bases de données miroir dans votre espace de travail Microsoft Fabric. Sélectionnez les tables à utiliser avec Lakehouse, sélectionnez Suivant, puis Créer.
Ouvrez le menu contextuel de la table dans Lakehouse, puis sélectionnez Notebook nouveau ou existant.
Un nouveau notebook s'ouvre et charge automatiquement un dataframe à l'aide de
SELECT LIMIT 1000
.Exécutez des requêtes telles que
SELECT *
en utilisant Spark.df = spark.sql("SELECT * FROM Lakehouse.OrdersDB_customers LIMIT 1000") display(df)
Remarque
Cet exemple suppose le nom de votre table. Utilisez votre table lors de l'écriture de votre requête Spark.
Réécrire à l'aide de Spark
Enfin, vous pouvez utiliser Spark et du code Python pour réécrire des données dans votre compte Azure Cosmos DB à partir de notebooks dans Microsoft Fabric. Vous pouvez effectuer cette opération pour réécrire les résultats analytiques dans Cosmos DB, qui peuvent ensuite être utilisés comme plan de service pour les applications OLTP.
Créez quatre cellules de code dans votre notebook.
Tout d'abord, interrogez vos données miroir.
fMirror = spark.sql("SELECT * FROM Lakehouse1.OrdersDB_ordercatalog")
Conseil
Les noms de la table de ces exemples de blocs de code supposent un schéma de données spécifique. N'hésitez pas à remplacer cela par vos propres noms de la table et de colonne.
À présent, effectuez une transformation et une agrégation des données.
dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
Ensuite, configurez Spark pour réécrire votre compte Azure Cosmos DB for NoSQL à l'aide de vos identifiants, de votre nom de base de données et de votre nom de conteneur.
writeConfig = { "spark.cosmos.accountEndpoint" : "https://xxxx.documents.azure.com:443/", "spark.cosmos.accountKey" : "xxxx", "spark.cosmos.database" : "xxxx", "spark.cosmos.container" : "xxxx" }
Enfin, utilisez Spark pour réécrire dans la base de données source.
dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
Exécutez toutes les cellules de code.
Important
Les opérations d'écriture dans Azure Cosmos DB consomment des unités de requête (RU).