Connecter Tableau à Azure Databricks

Cet article vous montre comment connecter Azure Databricks à Tableau Desktop et inclut des informations sur d'autres éditions de Tableau. Vous pouvez vous connecter via Connexion partenaire ou vous pouvez vous connecter manuellement.

En utilisant Azure Databricks comme une source de données avec Tableau, vous pouvez fournir des analyses interactives puissantes issues des contributions de vos scientifiques des données et de vos ingénieurs de données en vue de les fournir à vos analystes métier sous forme de jeux de données volumineux.

Pour en savoir plus sur l’utilisation de Tableau Desktop pour créer des rapports et des visualisations, veuillez lire le Tutoriel  : Démarrer avec Tableau Desktop .

Spécifications

Se connecter à Tableau Desktop à l’aide de Partner Connect

Vous pouvez utiliser Partner Connect pour connecter un cluster ou un entrepôt SQL à Tableau Desktop en quelques clics seulement.

  1. Vérifiez que votre compte Azure Databricks, votre espace de travail et l’utilisateur connecté remplissent tous les prérequis de Partner Connect.
  2. Dans la barre latérale, cliquez sur bouton Partner ConnectPartner Connect.
  3. Cliquez sur la vignette Tableau.
  4. 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.
  5. Choisissez Télécharger le fichier de connexion.
  6. Ouvrez le fichier de connexion téléchargé pour démarrer Tableau Desktop.
  7. Dans Tableau Desktop, entrez vos informations d’authentification, puis cliquez sur Se connecter :
    • Pour utiliser un jeton Microsoft Entra ID, entrez le jeton pour le Nom d’utilisateur et votre jeton Microsoft Entra ID pour le Mot de passe.
    • Pour utiliser un jeton d’accès personnel Azure Databricks, entrez jeton dans Nom d’utilisateur et votre jeton d’accès personnel dans Mot de passe.
    • Pour utiliser vos informations d’identification Microsoft Entra ID, cliquez sur Modifier la connexion, double-cliquez sur la base de données sous l’onglet Données, puis sélectionnez Microsoft Entra ID dans la liste d’Authentification.
      • Pour Tableau Desktop 2021.1 et versions ultérieures :

        1. Si vous n’utilisez pas un compte invité Microsoft Entra ID (anciennement Azure Active Directory) B2B ou Azure Databricks sur Azure Government, vous pouvez simplement entrer https://login.microsoftonline.com/common comme point de terminaison OAuth.

        Authentification de la configuration

        1. Si vous utilisez un compte invité Microsoft Entra ID B2B ou Azure Databricks sur Azure Government, contactez votre administrateur pour obtenir un entrepôt Microsoft Entra ID dédié.

        Remarque

        Si vous n’êtes pas administrateur, une erreur d’approbation d’administrateur nécessaire s’affiche. Demandez à un administrateur général, à un administrateur d’application cloud ou à un administrateur d’application de vous accorder des autorisations pour vous connecter à Tableau, puis réessayez de vous connecter.

        Si le workflow de consentement d’administrateur est activé pour votre compte Microsoft Entra ID, Tableau Desktop vous invite à demander l’accès à Tableau. Une fois qu’un administrateur général, un administrateur d’application cloud ou un administrateur d’application approuve la demande, essayez de vous reconnecter.

Une fois que vous êtes connecté à Tableau Desktop, vous pouvez vous arrêter-là. Les autres informations de cet article s’intéressent en détail à certains aspects de Tableau, comme la connexion manuelle à Tableau Desktop, la configuration de Tableau Server sur Linux, l’utilisation de Tableau Online, ainsi que les bonnes pratiques et la résolution des problèmes.

Se connecter avec Tableau Desktop manuellement

Suivez ces instructions pour vous connecter à un cluster ou à un entrepôt SQL avec Tableau Desktop.

Notes

Pour vous connecter plus rapidement à Tableau Desktop, utilisez Partner Connect.

  1. Démarrez Tableau Desktop.

  2. Cliquez sur File > New (Fichier > Nouveau).

  3. Sous l’onglet Data (Données), cliquez sur Connect to Data (Se connecter aux données).

  4. Dans la liste des connecteurs, cliquez sur Databricks.

  5. Entrez le nom d’hôte du serveur dans Server Hostname et le chemin HTTP dans HTTP Path.

  6. Pour Authentication (Authentification), choisissez votre méthode d’authentification, entrez vos informations d’authentification, puis cliquez sur Sign In (Se connecter).

    • Pour utiliser un jeton Microsoft Entra ID, sélectionnez Jeton d’accès personnel et entrez votre jeton Microsoft Entra ID pour le mot de passe.

    • Pour utiliser un jeton d’accès personnel Azure Databricks, sélectionnez Jeton d’accès personnel, puis entrez votre jeton d’accès personnel dans Mot de passe.

    • Pour utiliser vos informations d’identification Microsoft Entra ID, sélectionnez Microsoft Entra ID.

      Pour Tableau Desktop 2021.1 et versions ultérieures :

      • Si vous n’utilisez pas un compte invité Microsoft Entra ID (anciennement Azure Active Directory) B2B ou Azure Databricks sur Azure Government, vous pouvez simplement entrer https://login.microsoftonline.com/common comme point de terminaison OAuth.

        Authentification de la configuration

        • Si vous utilisez un compte invité Microsoft Entra ID B2B ou Azure Databricks sur Azure Government, contactez votre administrateur pour obtenir un entrepôt Microsoft Entra ID dédié.

      Remarque

      Si vous n’êtes pas administrateur, une erreur d’approbation d’administrateur nécessaire s’affiche. Demandez à un administrateur général, à un administrateur d’application cloud ou à un administrateur d’application de vous accorder des autorisations pour vous connecter à Tableau, puis réessayez de vous connecter.

      Si le workflow de consentement d’administrateur est activé pour votre compte Microsoft Entra ID, Tableau Desktop vous invite à demander l’accès à Tableau. Une fois qu’un administrateur général, un administrateur d’application cloud ou un administrateur d’application approuve la demande, essayez de vous reconnecter.

    Si le catalogue Unity est activé pour votre espace de travail, définissez également le catalogue par défaut. Sous l’onglet Avancé, pour les Propriétés de connexion, ajoutez Catalog=<catalog-name>. Pour modifier le catalogue par défaut, dans l’onglet SQL initial, entrez USE CATALOG <catalog-name>.

Une fois que vous êtes connecté à Tableau Desktop, vous pouvez vous arrêter-là. Les autres informations de cet article s’intéressent en détail à certains aspects de Tableau, comme la configuration de Tableau Server sur Linux, l’utilisation de Tableau Online, ainsi que les bonnes pratiques et la résolution des problèmes.

Tableau Server sur Linux

Modifiez /etc/odbcinst.ini pour inclure ce qui suit :

[Simba Spark ODBC Driver 64-bit]
Description=Simba Spark ODBC Driver (64-bit)
Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so

Notes

Tableau Server sur Linux recommande l’architecture de traitement 64 bits.

Publier et actualiser un classeur dans Tableau Online

Cet article explique comment publier un classeur à partir de Tableau Desktop dans Tableau Online, et comment le maintenir à jour lorsque la source de données est modifiée. Vous avez besoin d’un classeur dans Tableau Desktop ainsi que d’un compte Tableau Online.

  1. Extrayez les données du classeur à partir de Tableau Desktop : dans Tableau Desktop, après avoir ouvert le classeur que vous souhaitez publier, cliquez sur Data ><data-source-name>> Extract Data (Données > Extraire les données).
  2. Dans la boîte de dialogue Extract Data (Extraire les données), cliquez sur Extract (Extraire).
  3. Accédez à l’emplacement de votre ordinateur local dans lequel vous souhaitez enregistrer les données extraites, puis cliquez sur Save (Enregistrer).
  4. Publiez la source de données du classeur dans Tableau Online : dans Tableau Desktop, cliquez sur Server > Publish Data Source ><data-source-name> (Serveur > Publier la source de données).
  5. Si la boîte de dialogue Tableau Server Sign In (Connexion à Tableau Server) s’affiche, cliquez sur le lien Tableau Online et suivez les instructions à l’écran pour vous connecter à Tableau Online.
  6. Dans la boîte de dialogue Publish Data Source to Tableau Online (Publier la source de données dans Tableau Online), en regard de Refresh Not Enabled (Actualisation non activée), cliquez sur le lien Edit (Modifier).
  7. Dans la zone de menu volant qui s’affiche, pour Authentication (Authentification), remplacez Refresh Not Enabled (Actualisation non activée) par Allow refresh access (Autoriser l’actualisation).
  8. Cliquez n’importe où en dehors de ce menu volant pour le masquer.
  9. Sélectionnez Update workbook to use the published data source (Mettre à jour le classeur pour utiliser la source de données publiée).
  10. Cliquez sur Publier. La source de données s’affiche dans Tableau Online.
  11. Dans Tableau Online, dans la boîte de dialogue Publishing Complete (Publication terminée), cliquez sur Schedule (Planification), puis suivez les instructions à l’écran.
  12. Publiez le classeur dans Tableau Online : dans Tableau Desktop, après avoir ouvert le classeur que vous souhaitez publier, cliquez sur Server > Publish Workbook (Serveur > Publier le classeur).
  13. Dans la boîte de dialogue Publish Workbook to Tableau Online (Publier le classeur dans Tableau Online), cliquez sur Publish (Publier). Le classeur s’affiche dans Tableau Online.

Tableau Online recherche les modifications apportées à la source de données en fonction de la planification que vous avez définie, et met à jour le classeur publié si des modifications sont détectées.

Pour plus d’informations, consultez ce qui suit sur le site web Tableau :

Bonnes pratiques et résoudre des problèmes

Les deux actions fondamentales pour optimiser les requêtes Tableau sont les suivantes :

  • Réduire le nombre d’enregistrements interrogés et visualisés dans un même graphique ou tableau de bord.
  • Réduire le nombre de requêtes envoyées par Tableau dans un même graphique ou tableau de bord.

L’action que vous devez essayer en premier dépend de votre tableau de bord. Si un même tableau de bord contient plusieurs graphiques pour les différents utilisateurs, il est probable que Tableau envoie un trop grand nombre de requêtes à Azure Databricks. Si vous avez seulement quelques graphiques, mais que leur chargement est très long, il est probable que les enregistrements retournés par Azure Databricks soient trop nombreux pour être chargés correctement.

L’enregistrement des performances Tableau, qui est disponible à la fois dans Tableau Desktop et dans Tableau Server, peut vous aider à comprendre où se trouvent les goulots d’étranglement en identifiant les processus qui provoquent une latence quand vous exécutez un workflow ou un tableau de bord spécifique.

Activer l’enregistrement des performances pour déboguer un problème Tableau

Par exemple, si le problème se situe au niveau de l’exécution de la requête, vous savez qu’il s’agit d’un processus du moteur de données ou de la source de données que vous interrogez. Si la disposition visuelle s’exécute lentement, vous savez qu’il s’agit de VizQL.

Si l’enregistrement des performances indique que la latence est liée à l’exécution d’une requête, il est probable qu’Azure Databricks soit trop long à retourner les résultats ou que la superposition du connecteur ODBC soit trop longue à traiter les données dans SQL pour VizQL. Dans ce cas, vous devez analyser ce que vous retournez et tenter de modifier le modèle analytique de manière à avoir un tableau de bord par groupe, par segment ou par article, plutôt que d’essayer de tout mettre dans un tableau de bord et d’utiliser des filtres rapides.

Si les performances sont médiocres en raison du tri ou de la disposition visuelle, le problème peut être dû au nombre de marques que le tableau de bord tente de retourner. Azure Databricks peut retourner rapidement 1 million d’enregistrements. Cependant, Tableau peut ne pas être en mesure de calculer la disposition et de trier les résultats. Si cela pose problème, agrégez la requête et explorez les niveaux inférieurs. Vous pouvez également essayer d’utiliser un ordinateur avec davantage d’espace, car Tableau est uniquement restreint par les ressources physiques situées sur l’ordinateur où il s’exécute.

Pour obtenir un tutoriel détaillé sur l’enregistreur des performances, consultez Créer un enregistrement des performances.

Comparaison des performances Tableau Server et Tableau Desktop

En général, un workflow ne s’exécute pas plus rapidement sur Tableau Desktop que sur Tableau Server. Un tableau de bord qui ne s’exécute pas sur Tableau Desktop ne s’exécutera pas non plus sur Tableau Server. N’oubliez pas ce point important.

En réalité, le fait de résoudre les problèmes sur Desktop est une bien meilleure technique de dépannage, car Tableau Server comporte d’autres processus à prendre en compte lors d’un dépannage. Si tout fonctionne dans Tableau Desktop mais pas dans Tableau Server, vous pouvez simplement en déduire que le problème est lié aux processus qui sont exécutés dans Tableau Server et non dans Tableau Desktop.

Configuration

Par défaut, les paramètres de l’URL de connexion remplacent ceux qui se trouvent dans le DSN ODBC Simba. Il existe deux façons de personnaliser les configurations ODBC dans Tableau :

  • Fichier .tds pour une source de données unique :

    1. Suivez les instructions fournies dans Enregistrer des sources de données afin d’exporter le fichier .tds pour la source de données.
    2. Recherchez la ligne de propriété odbc-connect-string-extras='' dans le fichier .tds, puis définissez les paramètres. Par exemple, pour activer AutoReconnect et UseNativeQuery, vous pouvez modifier la ligne ainsi : odbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1'.
    3. Rechargez le fichier .tds en établissant à nouveau la connexion.

    La ressource de calcul est optimisée de manière à utiliser moins de mémoire segment pour la collecte de résultats volumineux. Elle peut donc distribuer plus de lignes par bloc de récupération que la valeur par défaut d’ODBC Simba. Ajoutez RowsFetchedPerBlock=100000' à la valeur de la propriété odbc-connect-string-extras.

  • Fichier .tdc pour toutes les sources de données :

    1. Si vous n’avez jamais créé de fichier .tdc, vous pouvez ajouter TableauTdcExample.tdc au dossier Document/My Tableau Repository/Datasources.
    2. Ajoutez le fichier à toutes les installations Tableau Desktop des développeurs, afin qu’il fonctionne lorsque les tableaux de bord sont partagés.

Optimiser les graphiques (feuilles de calcul)

Il existe un certain nombre d’optimisations de graphiques tactiques qui peuvent vous aider à améliorer les performances de vos feuilles de calcul Tableau.

Pour les filtres qui ne changent pas souvent et avec lesquels aucune interaction n’est prévue, utilisez des filtres de contexte pour accélérer l’exécution. Une autre bonne règle à suivre consiste à utiliser des instructions if/else plutôt que des instructions case/when dans vos requêtes.

Tableau peut effectuer un pushdown de filtres dans les sources de données pour accélérer les requêtes. Pour plus d’informations sur le pushdown de filtres dans les sources de données, consultez Filtering Across Multiple Data Sources Using a Parameter et Filtrer les données de plusieurs sources de données.

Il est préférable d’éviter les calculs de table si vous le pouvez, car ils nécessitent l’analyse du jeu de données complet. Pour plus d’informations sur les calculs de table, consultez Transformer des valeurs avec des calculs de table.

Optimiser les tableaux de bord

Voici un certain nombre d’astuces et d’exercices de dépannage que vous pouvez appliquer pour améliorer les performances de votre tableau de bord Tableau.

Une source courante de problèmes avec les tableaux de bord Tableau qui sont connectés à Azure Databricks est l’utilisation de filtres rapides sur des tableaux de bord qui distribuent un certain nombre d’utilisateurs, de fonctions ou de segments différents. Vous pouvez attacher des filtres rapides globaux à tous les graphiques du tableau de bord. Il s’agit d’une fonctionnalité intéressante, mais qui peut rapidement causer des problèmes. Un filtre rapide global appliqué à un tableau de bord comprenant cinq graphiques entraînera l’envoi d’un minimum de 10 requêtes à Azure Databricks. Cela peut se traduire par une augmentation du nombre de requêtes à mesure que d’autres filtres sont ajoutés. En outre, cela peut entraîner des problèmes de performances considérables, car Spark n’est pas conçu pour gérer de nombreuses requêtes simultanées démarrant au même moment. Cela devient plus problématique lorsque le cluster Azure Databricks ou l’entrepôt SQL que vous utilisez n’est pas suffisamment grand pour gérer le volume élevé de requêtes.

Dans un premier temps, nous vous recommandons d’utiliser l’enregistrement des performances Tableau pour résoudre le problème d’origine.

Si les performances sont médiocres en raison du tri ou de la disposition visuelle, le problème peut être dû au nombre de marques que le tableau de bord tente de retourner. Azure Databricks peut retourner rapidement 1 million d’enregistrements. Cependant, Tableau peut ne pas être en mesure de calculer la disposition et de trier les résultats. Si cela pose problème, agrégez la requête et explorez les niveaux inférieurs. Vous pouvez également essayer d’utiliser un ordinateur avec davantage d’espace, car Tableau est uniquement restreint par les ressources physiques situées sur l’ordinateur où il s’exécute.

Pour plus d’informations sur l’exploration des données dans Tableau, consultez Explorer en détail.

En général, le fait de voir de nombreuses marques granulaires révèle souvent un mauvais modèle analytique, car il ne fournit pas d’insights. Il est plus logique d’utiliser l’exploration des niveaux d’agrégation plus élevés, car elle réduit le nombre d’enregistrements à traiter et à visualiser.

Utiliser des actions pour optimiser les tableaux de bord

Pour explorer à partir d’un groupe vers un segment puis vers un article afin d’obtenir la même analyse et les mêmes informations que le tableau de bord ultracomplexe, vous pouvez utiliser les actions Tableau. Les actions vous permettent de cliquer sur une marque (par exemple, une région sur une carte) et d’être dirigé vers un autre tableau de bord qui filtre les données en fonction de la région sur laquelle vous avez cliqué. Cela élimine la nécessité d’un grand nombre de filtres dans un tableau de bord. En outre, cela réduit le nombre d’enregistrements qui doivent être générés, car vous pouvez configurer une action pour ne pas qu’elle génère d’enregistrements avant d’avoir un prédicat de filtrage.

Pour plus d’informations, consultez Actions et 6 Tips to Make Your Dashboards More Performant.

Mise en cache

La mise en cache des données est un bon moyen d’améliorer les performances des feuilles de calcul et des tableaux de bord.

Mise en cache dans Tableau

Tableau effectue une mise en cache en quatre couches avant de revenir aux données, qu’il s’agisse de données présentes dans une connexion active ou dans un extrait :

  • Vignettes : si un utilisateur charge exactement le même tableau de bord et que rien ne change, Tableau tente de réutiliser les mêmes vignettes pour les graphiques. Ceci est similaire aux vignettes Google Maps.
  • Modèle : il existe des calculs mathématiques qui sont utilisés pour générer des visualisations dans le cas où les vignettes ne pourraient pas être utilisées. Tableau Server tente d’utiliser les mêmes modèles.
  • Extrait : les résultats agrégés des requêtes sont également stockés. Il s’agit du troisième niveau de « défense ». Si une requête retourne Sum(Sales), Count(orders), Sum(Cost) dans une requête précédente et qu’une requête suivante souhaite uniquement Sum(Sales), Tableau prend le résultat et l’utilise.
  • Cache natif : si la requête est exactement la même qu’une autre, Tableau utilise les mêmes résultats. Il s’agit du dernier niveau de mise en cache. En cas d’échec, Tableau accède aux données.

Fréquence de mise en cache dans Tableau

Tableau comprend des paramètres d’administration qui permettent de configurer la fréquence de la mise en cache. Si le serveur est configuré sur Refresh Less Often (Actualisation moins fréquente), Tableau conserve les données dans le cache pendant 12 heures. S’il est configuré sur Refresh More Often (Actualisation plus fréquente), Tableau revient aux données à chaque actualisation de la page.

Les clients qui utilisent constamment le même tableau de bord (par exemple, « rapports de pipeline du lundi matin ») doivent se trouver sur un serveur configuré avec une actualisation moins fréquente afin que les tableaux de bord utilisent tous le même cache.

Réchauffement du cache dans Tableau

Dans Tableau, vous pouvez préchauffer le cache en définissant un abonnement pour le tableau de bord qui doit être envoyé avant que le tableau de bord ne s’affiche. Cela est dû au fait que le tableau de bord doit être affiché afin de permettre la génération de l’image pour l’e-mail d’abonnement. Consultez Warming the Tableau Server Cache Using Subscriptions.

Tableau Desktop : l'erreur The drivers... are not properly installed s'affiche

Problème : lorsque vous essayez de connecter Tableau Desktop à Databricks, Tableau affiche un message d’erreur dans la boîte de dialogue de connexion avec un lien vers la page de téléchargement du pilote, où vous pouvez trouver des liens vers les pilotes ainsi que des instructions d’installation.

Cause : votre installation de Tableau Desktop n’exécute pas un pilote pris en charge.

Résolution : Téléchargez le pilote ODBC Databricks version 2.6.15 ou ultérieure.

Voir aussi : Erreur « Les pilotes... ne sont pas installés correctement » sur le site web de Tableau.

Ressources supplémentaires