Utiliser des données Azure Databricks sur Microsoft Power Platform

Cette page explique comment utiliser vos données Azure Databricks à partir des plateformes suivantes après avoir créé une connexion :

  • Power Apps : Créez des applications qui peuvent lire et écrire dans Azure Databricks, tout en préservant vos contrôles de gouvernance Azure Databricks.
  • Power Automate : Générez des flux et ajoutez des actions qui activent l’exécution de SQL personnalisé ou d’un travail existant et récupérez les résultats.
  • Copilot Studio : créez des agents personnalisés à l’aide de vos données Azure Databricks en tant que source de connaissances ou connectez les agents Genie en tant qu’outils. Consultez Utiliser des données Azure Databricks dans Microsoft Copilot Studio.

Conditions préalables

Avant de vous connecter à Azure Databricks à partir de Power Platform, vous devez créer une connexion à Azure Databricks sur Microsoft Power Platform.

Utiliser vos données Azure Databricks pour créer des applications Power canvas

Pour ajouter vos données Azure Databricks à votre application, procédez comme suit :

  1. Dans la barre de navigation la plus à gauche de Power Apps, cliquez sur Créer.
  2. Cliquez sur Démarrer avec un canevas vide et choisissez la taille de canevas souhaitée pour créer une application canevas.
  3. À partir de votre application, cliquez sur Ajouter des connecteurs > de données > Azure Databricks. Cliquez sur la connexion Azure Databricks que vous avez créée.
  4. Sélectionnez un catalogue dans la barre latérale Choisir un jeu de données .
  5. Dans la barre latérale Choisir un jeu de données , sélectionnez toutes les tables à laquelle vous souhaitez connecter votre application canevas.
  6. Cliquez sur Se connecter.

Opérations de données dans Power Apps :

Le connecteur prend en charge les opérations de création, de mise à jour et de suppression, mais uniquement pour les tables qui ont une clé primaire définie. Lorsque vous effectuez des opérations de création, vous devez toujours spécifier la clé primaire.

Azure Databricks prend en charge les colonnes d’identité générées. Dans ce cas, les valeurs de clé primaire sont générées automatiquement sur le serveur lors de la création de ligne et ne peuvent pas être spécifiées manuellement.

Utiliser vos données Azure Databricks pour générer des flux Power Automate

L’API d’exécution des instructions Azure Databricks et l’API Travaux sont exposées dans Power Automate, ce qui vous permet d’écrire des instructions SQL et d’exécuter des travaux existants. Pour créer un flux Power Automate à l’aide d’Azure Databricks en tant qu’action, procédez comme suit :

  1. Dans la barre de navigation la plus à gauche de Power Automate, cliquez sur Créer.

  2. Créez un flux et ajoutez n’importe quel type de déclencheur.

  3. À partir de votre nouveau flux, cliquez + et recherchez « Databricks » pour afficher les actions disponibles.

  4. Pour écrire une requête SQL, sélectionnez l’une des actions suivantes :

    • Exécutez une instruction SQL : écrivez et exécutez une instruction SQL. Entrez les informations suivantes :

      • Pour Body/warehouse_id, entrez l’ID de l’entrepôt sur lequel exécuter l’instruction SQL.
      • Pour Body/statement_id, entrez l’ID de l’instruction SQL à exécuter.

      Pour plus d’informations sur les paramètres avancés, consultez la documentation de l’API.

    • Vérifiez l’état et obtenez les résultats : vérifiez l’état d’une instruction SQL et collectez les résultats. Entrez les informations suivantes :

      • Pour l’ID d’instruction, entrez l’ID retourné lorsque l’instruction SQL a été exécutée.

      Pour plus d’informations sur le paramètre, consultez la documentation de l’API.

    • Annulez l’exécution d’une instruction : Terminez l’exécution d’une instruction SQL. Entrez les informations suivantes :

      • Pour l’ID d’instruction, entrez l’ID de l’instruction SQL à interrompre.

      Pour plus d’informations sur le paramètre, consultez la documentation de l’API.

    • Obtenez le résultat par index de bloc : Obtenez les résultats par index de segment, qui convient aux jeux de résultats volumineux. Entrez les informations suivantes :

      • Pour l’ID d’instruction, entrez l’ID de l’instruction SQL dont vous souhaitez récupérer les résultats.
      • Pour l’index de bloc, entrez l’index de bloc cible.

      Pour plus d’informations sur les paramètres, consultez la documentation de l’API.

  5. Pour interagir avec un travail Azure Databricks existant, sélectionnez l’une des actions suivantes :

    • Répertorier les travaux : Récupère une liste de travaux. Pour plus d’informations, consultez la documentation de l’API.
    • Déclenchez une nouvelle exécution de tâche : Lance une tâche et renvoie l’identifiant de l’exécution déclenchée. Pour plus d’informations, consultez la documentation de l’API.
    • Obtenez une seule exécution de travail : Retourne les métadonnées relatives à une exécution, y compris l’état d’exécution (par exemple, RUNNING, , SUCCESSFAILED), l’heure de début et de fin, les durées d’exécution, les informations de cluster, et ainsi de suite. Pour plus d’informations, consultez la documentation de l’API.
    • Annuler une exécution : Annule une exécution de travail ou une exécution de tâche. Pour plus d’informations, consultez la documentation de l’API.
    • Obtenez la sortie d’une seule exécution : Récupère la sortie et les métadonnées d’une tâche ou d’une seule exécution de tâche. Pour plus d’informations, consultez la documentation de l’API.

Créer des tables virtuelles Dataverse avec vos données Azure Databricks

Vous pouvez également créer des tables virtuelles Dataverse avec le connecteur Azure Databricks. Les tables virtuelles, également appelées entités virtuelles, intègrent des données à partir de systèmes externes à Microsoft Dataverse. Une table virtuelle définit une table dans Dataverse sans stocker la table physique dans la base de données Dataverse. Pour en savoir plus sur les tables virtuelles, consultez Prise en main des tables virtuelles (entités).

Note

Bien que les tables virtuelles n’utilisent pas de capacité de stockage Dataverse, Databricks recommande d’utiliser des connexions directes pour de meilleures performances.

Vous devez disposer du rôle Personnalisateur système ou Administrateur système. Pour plus d’informations, consultez les rôles de sécurité pour Power Platform.

Procédez comme suit pour créer une table virtuelle Dataverse :

  1. Dans Power Apps, dans la barre latérale, cliquez sur Tables.
  2. Cliquez sur + Nouveau tableau dans la barre de menus, puis sélectionnez Créer une table virtuelle.
  3. Sélectionnez une connexion Azure Databricks existante ou créez une connexion à Azure Databricks. Pour ajouter une nouvelle connexion, consultez Créer une connexion Azure Databricks sur Microsoft Power Platform.
    • Databricks recommande d’utiliser une connexion de service principal pour créer une table virtuelle.
  4. Cliquez sur Suivant.
  5. Sélectionnez les tables à représenter en tant que table virtuelle Dataverse.

    Note

    Les tables virtuelles Dataverse nécessitent une clé primaire. La clé doit être un GUID (chaîne), bigInt ou un entier. Les vues ne peuvent pas être des tables virtuelles, mais les vues matérialisées peuvent être.

  6. Cliquez sur Suivant.
  7. Configurez la table virtuelle en mettant à jour les détails de la table, si nécessaire.
  8. Cliquez sur Suivant.
  9. Confirmez les détails de la source de données, puis cliquez sur Terminer.
  10. Utilisez la table virtuelle Dataverse dans Power Apps, Power Automate et Copilot Studio.

Pour obtenir la liste des limitations connues des tables virtuelles Dataverse, consultez limitations connues et résolution des problèmes.

Devez-vous utiliser des tables virtuelles ou une connexion directe ?

Les tables virtuelles Dataverse et une connexion directe offrent différents avantages. La méthode que vous choisissez dépend de votre cas d’usage. Le tableau ci-dessous récapitule les principales fonctionnalités de chaque méthode.

Méthode d’accès aux données Passe d’informations d’identification de l’utilisateur final via OAuth Copie zéro Lire Écrire dans Azure Databricks Applications de canevas Applications basées sur des modèles
Connexion directe
Tables virtuelles Dataverse

Effectuer des mises à jour par lots

Si vous devez effectuer des opérations de création, de mise à jour ou de suppression en bloc en réponse aux entrées Power Apps, Databricks recommande d’implémenter un flux Power Automate. Pour ce faire, procédez comme suit :

  1. Créez une application canevas à l’aide de votre connexion Azure Databricks dans Power Apps.

  2. Créez un flux Power Automate à l’aide de la connexion Azure Databricks et utilisez Power Apps comme déclencheur.

  3. Dans le déclencheur Power Automate, ajoutez les champs d’entrée que vous souhaitez passer de Power Apps à Power Automate.

  4. Créez un objet de collection dans Power Apps pour collecter toutes vos modifications.

  5. Ajoutez le flux Power Automate à votre application de type canvas.

  6. Appelez le flux Power Automate à partir de votre application de canevas et itérez sur la collection à l’aide d’une commande ForAll.

    ForAll(collectionName, FlowName.Run(input field 1, input field 2, input field 3, …)
    

Écritures simultanées

L’accès concurrentiel au niveau des lignes réduit les conflits entre les opérations d’écriture simultanées en détectant les modifications au niveau des lignes et en résolvant automatiquement les conflits qui se produisent quand des écritures simultanées mettent à jour ou suppriment des lignes différentes dans le même fichier de données.

La concurrence au niveau des lignes est incluse dans Databricks Runtime 14.2 ou version ultérieure. La concurrence au niveau des lignes est prise en charge par défaut pour les types de tables suivants :

  • Tables avec vecteurs de suppression activés et sans partitionnement
  • Tables avec liquid clustering, sauf si les vecteurs de suppression sont désactivés

Pour activer les vecteurs de suppression, exécutez la commande SQL suivante.

ALTER TABLE table_name SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

Pour plus d’informations sur les conflits d’écriture simultanés dans Azure Databricks, consultez Les niveaux d’isolation et les conflits d’écriture.

Limitations

Limitations de Power Apps

Les formules PowerFx suivantes calculent les valeurs en utilisant uniquement les données récupérées localement :

Category Formula
Fonction de tableau
  • GroupBy
  • Distinct
Aggregation
  • CountRows
  • StdevP
  • StdevS