Connecter Power BI à Azure Databricks
Microsoft Power BI est un service d’analytique métier qui fournit des visualisations interactives avec des fonctionnalités de décisionnel libre-service, permettant aux utilisateurs finaux de créer des rapports et des tableaux de bord eux-mêmes, sans dépendre de l’équipe informatique ou des administrateurs de base de données.
Lorsque vous utilisez Azure Databricks comme source de données avec Power BI, vous pouvez profiter des performances et de la technologie Azure Databricks au même titre que les scientifiques des données et les ingénieurs Données.
Publier sur Power BI Online à partir d’Azure Databricks
Lorsque vous utilisez Azure Databricks comme source de données avec Power BI Online, vous pouvez créer des jeux de données Power BI à partir de tables ou de schémas directement à partir de l’interface utilisateur Databricks.
Spécifications
Vos données doivent se trouver sur le catalogue Unity, et votre calcul (cluster) doit être activé pour le catalogue Unity. Le metastore Hive n’est actuellement pas pris en charge.
Vous devez disposer d’une licence Power BI Premium (capacité Premium ou Premium par utilisateur).
Vous devez accorder les autorisations suivantes à l’application Entra ID inscrite, l’intégration de publication de jeux de données Databricks, que vous utilisez pour publier à partir de Databricks dans Power BI :
Content.Create
Dataset.ReadWrite.All
Workspace.Read.All
Pour plus d’informations, consultez Autorisations Microsoft Entra.
Remarque
Le consentement de l’administrateur Entra est généralement requis pour ces autorisations, en particulier pour l’accès au niveau de l’espace de travail et au niveau du jeu de données dans Power BI. Consultez Examiner les demandes de consentement d’administrateurpour obtenir des instructions.
Dans les paramètres d’espace de travail Power BI, vous devez activer Les utilisateurs peuvent modifier des modèles de données dans le service Power BI (préversion) pour modifier le modèle sémantique après sa publication. Vous pouvez également modifier le modèle sémantique à l’aide de l’éditeur tabulaire en créant une connexion à l’aide du point de terminaison XMLA.
Si vous devez activer l’écriture XML dans votre espace de travail Power BI, suivez ce lien pour obtenir des instructions.
Si votre espace de travail Power BI utilise une liaison privée, vous devez mettre à jour manuellement les informations d’identification des sources de données du jeu de données dans Power BI.
Publier des tables Azure Databricks dans un jeu de données Power BI
Connectez-vous à votre espace de travail Databricks et cliquez sur Catalogue dans la barre latérale pour ouvrir l’Explorateur de catalogue.
Sélectionnez une ressource de calcul dans la liste déroulante en haut à droite.
Ouvrez un catalogue et sélectionnez le schéma ou les tables à publier. Ne pas sélectionner dans un metastore Hive ou dans le catalogue d'échantillons.
Dans le coin supérieur droit, cliquez sur Utiliser avec les outils BI pour un schéma ou sur Ouvrir dans un tableau de bord pour une table.
Sélectionnez Publier sur l’espace de travail Power BI.
Dans la boîte de dialogue Se connecter au partenaire, cliquez sur Se connecter à Microsoft Entra ID pour vous authentifier.
Dans les espaces de travail Power BI, sélectionnez l’espace de travail Power BI.
Dans Mode du jeu de données, sélectionnez DirectQuery ou Import.
Dans Méthode d’authentification dans Power BI, sélectionnez OAuth ou PAT (jeton d’accès personnel).
Databricks recommande d’utiliser OAuth, car il permet un contrôle d’accès précis et un audit au niveau de l’utilisateur. Il se peut que les informations d’identification OAuth doivent être configurées sur la page des paramètres du jeu de données Power BI sous Informations d’identification de la source de données. Si vous sélectionnez Jeton d’accès personnel (PAT), un PAT est créé en votre nom pour permettre à Power BI d’accéder au modèle sémantique.
Dans Nom du jeu de données, sélectionnez Publier en tant que nouveau jeu de données ou Utiliser un jeu de données existant.
Lorsque vous choisissez Utiliser un jeu de données existant, les éléments suivants s’appliquent :
- Si le jeu de données existe, il n'est pas écrasé. Les mises à jour ajoutent uniquement les nouveaux enregistrements dans un schéma donné.
- Si la table sélectionnée ne fait pas partie du jeu de données existant, elle est ajoutée.
- Si la table était déjà dans votre jeu de données et que de nouvelles colonnes ont été ajoutées après la dernière mise à jour, ces colonnes sont automatiquement ajoutées.
- Vous pouvez choisir un modèle de stockage différent pour la nouvelle table afin de créer un modèle sémantique composite.
Si vous avez un modèle sémantique existant que vous souhaitez mettre à jour pendant que vous conservez les connexions de données existantes en place, choisissez Utiliser un jeu de données existant. Si vous souhaitez créer un nouveau jeu de données avec un nouveau modèle sémantique, choisissez Publier en tant que nouveau jeu de données.
- Si le jeu de données existe, il n'est pas écrasé. Les mises à jour ajoutent uniquement les nouveaux enregistrements dans un schéma donné.
Cliquez sur Publier sur Power BI.
Après 10 ou 20 secondes, une fois la publication terminée, cliquez sur Ouvrir dans Power BI pour ouvrir votre jeu de données Power BI dans un nouvel onglet.
Fonctionnalités et notes
- Lors de la publication d’un schéma contenant plusieurs tables, toutes les tables avec des colonnes sont publiées. Les tables sans colonnes ne sont pas publiées.
- Les commentaires sur les colonnes d’une table dans Azure Databricks sont copiés dans les descriptions des colonnes correspondantes dans Power BI.
- Les relations de clé étrangère sont conservées dans le jeu de données publié. Toutefois, Power BI ne prend en charge qu’un seul chemin de relation actif entre deux tables. Lorsque plusieurs chemins d’accès sont présents dans le schéma dans Azure Databricks, certaines des relations correspondantes dans Power BI sont définies sur inactives. Vous pouvez modifier ultérieurement les relations actives ou inactives dans la vue du modèle de données dans Power BI.
- Lorsque vous utilisez OAuth ou une passerelle de données locale, les informations d’identification doivent peut-être être configurées sous « Informations d’identification de la source de données » dans la page des paramètres du jeu de données Power BI.
- Actuellement, les utilisateurs peuvent uniquement publier directement dans des espaces de travail Power BI dans leur locataire domestique. La publication dans les locataires où ils sont des utilisateurs invités n’est pas prise en charge.
Dépannage
Error | Notes |
---|---|
« Approbation requise » lors du lancement de la publication sur Power BI pour la première fois | Si vous voyez ce message, vous aurez besoin de l’approbation d’Entra Admin avant de pouvoir accorder des autorisations à cette fonctionnalité d’intégration. Contactez votre administrateur Entra pour approuver la demande. Suivez ce lien pour obtenir des instructions. |
PowerBINotLicensedException | Vérifiez que vous disposez d’une licence Power BI Premium. |
Nous n’avons pas pu déployer ce jeu de données. Contactez un administrateur de capacité pour vous assurer que la prise en charge de la lecture/écriture XMLA est activée dans les paramètres de capacité de la capacité Power BI Premium, puis réessayez. Pour plus d’informations, consultez « Prise en charge de la lecture/écriture XMLA » dans la documentation du produit. | Contactez votre administrateur de capacité Power BI pour activer les fonctionnalités de lecture et écriture sous le point de terminaison XMLA dans les paramètres de capacité. Suivez ce lien pour obtenir des instructions. |
La fonctionnalité de point de terminaison XMLA est désactivée. Activez la fonctionnalité Analyser dans Excel sur PowerBI.com pour activer cette fonctionnalité. | Contactez votre administrateur de capacité Power BI pour activer les fonctionnalités de lecture et écriture sous le point de terminaison XMLA dans les paramètres de capacité. Suivez ce lien pour obtenir des instructions. |
CapacityNotActive | Votre capacité peut être suspendue. Contactez votre administrateur de capacité pour vérifier l’état de la capacité. |
La base de données portant le nom « <ccon> ***</ccon> » existe déjà dans l’<ccon> espace de travail </ccon> ***. |
Vérifiez que vous disposez des autorisations nécessaires pour créer un modèle sémantique. Ensuite, réessayez de Publier sur Power BI pour publier le modèle sémantique avec un numéro de version incrémenté. |
Vous ne pouvez pas utiliser le mode Direct Lake avec d’autres modes de stockage dans le même modèle. Le modèle composite ne prend pas en charge le mode Direct Lake. Supprimez les tables non prises en charge ou basculez-les en mode Direct Lake. | Étant donné que Publier sur Power BI crée un modèle sémantique avec le mode Import ou DirectQuery, il ne peut pas être utilisé pour publier sur un jeu de données existant qui utilise le mode Direct Lake. Suivez ce lien pour en savoir plus. |
L’utilisateur « <euii> * </euii> » n’a pas l’autorisation d’appeler la méthode Discover. |
Vérifiez que vous publiez sur un espace de travail Power BI avec un mode de licence Premium. Vous ne pouvez pas publier sur un espace de travail avec un mode de licence Pro. |
Soit l’utilisateur « <euii> </euii> » n’a pas l’autorisation de créer un objet dans « ** », soit l’objet n’existe pas. |
Vous pouvez avoir le rôle Viewer dans l’espace de travail Power BI. Vérifiez si vous disposez des autorisations nécessaires pour créer un modèle sémantique. Suivez ce lien pour plus d’informations. |
« Échec de la mise à jour des identifiants de la source de données : [Microsoft][ThriftExtension] (14) Réponse inattendue du serveur lors d’une connexion HTTP : réponse d’erreur non autorisée/interdite retournée, mais aucun message de jeton expiré n’a été reçu. » lors de la modification des identifiants de la source de données sur Power BI | Vérifiez si votre espace de travail Databricks est accessible publiquement. Si votre espace de travail utilise une liaison privée ou des listes d’accès IP, vous devrez peut-être configurer une passerelle locale Power BI. |
Connecter Power BI Desktop à Azure Databricks
Vous pouvez connecter Power BI Desktop à vos clusters Azure Databricks et entrepôts Databricks SQL. Vous pouvez également publier des rapports Power BI dans le service Power BI et permettre aux utilisateurs d’accéder aux données Azure Databricks sous-jacentes à l’aide de l’authentification unique (SSO), en fournissant les mêmes informations d’identification Microsoft Entra ID qu’ils utilisent pour accéder au rapport.
Spécifications
Power BI Desktop 2.85.681.0 ou version ultérieure Pour utiliser des données gérées par le catalogue Unity avec Power BI, vous devez utiliser Power BI Desktop version 2.98.683.0 ou ultérieure (version d’octobre 2021).
Notes
Power BI Desktop nécessite Windows. Pour les autres systèmes d’exploitation, vous pouvez exécuter Power BI Desktop sur un hôte physique ou sur une machine virtuelle Windows, puis vous y connecter à partir de votre système d’exploitation.
Si vous utilisez une version de Power BI Desktop antérieure à 2.85.681.0, vous devez également installer le pilote ODBC Databricks dans le même environnement que Power BI Desktop.
Un jeton d’accès personnel Azure Databricks ou les informations d’identification de votre compte Microsoft Entra ID.
Remarque
En guise de meilleure pratique de sécurité, quand vous vous authentifiez avec jetons d’accès personnels, Databricks recommande d’utiliser des jetons d’accès personnels appartenant à des principaux de service et non à des utilisateurs de l’espace de travail. Pour créer des jetons pour des principaux de service, consultez Gérer les jetons pour un principal de service.
Connecter Power BI Desktop à Azure Databricks à l’aide de Partner Connect
Vous pouvez utiliser Partner Connect pour vous connecter en quelques clics à un cluster ou à un entrepôt SQL à partir de Power BI Desktop.
Vérifiez que votre compte Azure Databricks, votre espace de travail et l’utilisateur connecté remplissent les conditions requises par Partner Connect.
Dans la barre latérale, cliquez sur Partner Connect.
Cliquez sur la vignette Power BI.
Dans la boîte de dialogue Se connecter à un partenaire, pour Calcul, choisissez le nom de la ressource de calcul Azure Databricks que vous souhaitez connecter.
Choisissez Télécharger le fichier de connexion.
Ouvrez le fichier de connexion téléchargé pour démarrer Power BI Desktop.
Dans Power BI Desktop, entrez vos informations d’authentification :
- Jeton d’accès personnel : entrez votre jeton d’accès personnel Azure Databricks.
- Microsoft Entra ID : cliquez sur Se connecter, puis suivez les instructions à l’écran.
- Nom d’utilisateur/mot de passe : non applicable.
Cliquez sur Connecter.
Sélectionnez les données Azure Databricks à interroger dans le navigateur Power BI.
Connecter manuellement Power BI Desktop à Azure Databricks
En fonction de la méthode d’authentification choisie, suivez ces instructions pour vous connecter à un cluster ou à un entrepôt SQL avec Power BI Desktop. Les entrepôts Databricks SQL sont recommandés lors de l’utilisation de Power BI en mode DirectQuery .
Remarque
Pour vous connecter plus rapidement à Power BI Desktop, utilisez Partner Connect.
Récupérez le nom d’hôte du serveur et le chemin HTTP.
Démarrez Power BI Desktop.
Cliquez sur Obtenir des données ou sur Fichier >Obtenir des données.
Cliquez sur Get data to get started (Obtenir des données pour commencer).
Recherchez Databricks, puis cliquez sur le connecteur :
- Azure Databricks
Cliquez sur Connecter.
Entrez le nom d’hôte du serveur dans Server Hostname et le chemin HTTP dans HTTP Path.
Sélectionnez votre mode de connectivité des données (Data Connectivity mode). Pour connaître la différence entre Import et DirectQuery, consultez Utiliser DirectQuery dans Power BI Desktop.
Cliquez sur OK.
Cliquez sur votre méthode d’authentification :
- Jeton d’accès personnel : entrez votre jeton d’accès personnel Azure Databricks.
- Microsoft Entra ID : cliquez sur Se connecter, puis suivez les instructions à l’écran.
- Nom d’utilisateur/mot de passe : non applicable.
Cliquez sur Connecter.
Sélectionnez les données Azure Databricks à interroger dans le navigateur Power BI. Si le catalogue Unity Catalog est pour votre espace de travail, sélectionnez un catalogue avant de sélectionner un schéma et une table.
Utilisation d’une requête SQL personnalisée
Le connecteur Databricks fournit la source de données Databricks.Query
qui permet à un utilisateur de fournir une requête SQL personnalisée.
Suivez les étapes décrites dans Se connecter avec Power BI Desktop pour créer une connexion, à l’aide de l’option Importer comme mode de connectivité des données.
Dans le Navigateur, cliquez avec le bouton droit sur l’élément le plus haut contenant le nom d’hôte sélectionné et le chemin HTTP, puis cliquez sur Transformer les données pour ouvrir l’éditeur Power Query.
Dans la barre de fonctions, remplacez le nom
Databricks.Catalogs
de la fonction parDatabricks.Query
et appliquez la modification. Cela crée une fonction Power Query qui prend une requête SQL en tant que paramètre.Entrez la requête SQL dans le champ de paramètre, puis cliquez sur Appeler. Cette opération exécute la requête et une nouvelle table est créée avec les résultats de la requête comme contenu.
Accéder à une source de données Azure Databricks à l’aide du service Power BI
Lorsque vous publiez un rapport sur le service Power BI, vous vous connectez à Azure Databricks à l’aide d’un jeton d’accès personnel. Dans le service Power BI, vous pouvez également activer l’authentification unique (SSO) pour que les utilisateurs puissent accéder aux rapports créés avec le mode de stockage DirectQuery en transmettant leurs informations d’identification Microsoft Entra ID à Azure Databricks.
Publier votre rapport Power BI à partir de Power BI Desktop dans le service Power BI.
Activez l’authentification unique (SSO) pour le rapport et la source de données sous-jacente.
- Accédez au jeu de données sous-jacent Azure Databricks du rapport dans le service Power BI, développez Informations d’identification de la source de données, puis cliquez sur Modifier les informations d’identification.
- Dans la boîte de dialogue de configuration, sélectionnez Les lecteurs de rapports peuvent uniquement accéder à cette source de données avec leurs propres identités Power BI avec DirectQuery, puis cliquez sur Se connecter.
Une fois cette option sélectionnée, l’accès à la source de données est géré par DirectQuery et par l’identité Microsoft Entra ID de l’utilisateur(-trice) qui accède au rapport. Si vous ne sélectionnez pas cette option, seul l’utilisateur qui a publié le rapport a accès à la source de données Azure Databricks.
Détection automatisée du proxy HTTP
Power BI Desktop version 2.104.941.0 et ultérieures (version de mai 2022) dispose d’une prise en charge intégrée de la détection de la configuration du proxy HTTP à l’échelle du système Windows.
Power BI Desktop peut détecter et utiliser automatiquement votre configuration de proxy HTTP à l’échelle du système Windows.
Si le serveur proxy ne fournit pas de point de distribution de listes de révocation des certificats (CDP), Power BI peut afficher le message d’erreur suivant :
Details: "ODBC: ERROR [HY000] [Microsoft][DriverSupport] (1200)
-The revocation status of the certificate or one of the certificates in the certificate chain is unknown."
Pour corriger cette erreur, effectuez les étapes suivantes :
Créez le fichier
C:\Program Files\Microsoft Power BI Desktop\bin\ODBC Drivers\Simba Spark ODBC Driver\microsoft.sparkodbc.ini
s’il n’existe pas.Ajoutez la configuration suivante à votre fichier
microsoft.sparkodbc.ini
:[Driver] CheckCertRevocation=0
Connecteur Delta Sharing Power BI
Le connecteur Delta Sharing Power BI permet aux utilisateurs de découvrir, d’analyser et de visualiser les jeux de données partagés avec eux via le protocole ouvert Delta Sharing. Ce protocole permet l’échange sécurisé de jeux de données entre les produits et les plateformes par le biais de l’API REST et du stockage cloud.
Pour obtenir des instructions de connexion, consultez Power BI : Lire des données partagées.
Limites
- Le connecteur Azure Databricks prend en charge les proxys web. Toutefois, les paramètres de proxy automatiques définis dans les fichiers .pac ne sont pas pris en charge.
- Dans le connecteur Azure Databricks, la source de données
Databricks.Query
n’est pas prise en charge en combinaison avec le mode DirectQuery. - Les données qui sont chargées par le connecteur Delta Sharing doivent pouvoir être contenues dans la mémoire de votre machine. Pour cela, le connecteur utilise la limite de lignes définie précédemment.