Snowflake

Cet article décrit comment connecter Tableau à un entrepôt de données Snowflake et configurer la source de données.

Avant de commencer

Avant de démarrer, rassemblez les informations de connexion suivantes :

  • Nom du serveur auquel vous souhaitez vous connecter
  • Méthode d’authentification :
    • OAuth : utilisez cette méthode si vous souhaitez activer la fédération à partir d’un IDP.
    • Fournisseur d’identité SAML : utilisez cette méthode si vous souhaitez intégrer les informations d’identification de l’IdP dans la connexion.
    • Nom d’utilisateur et mot de passe : utilisez cette méthode si vous souhaitez stocker les informations d’identification de l’utilisateur dans Snowflake.
  • Les identifiants de connexion dépendent de la méthode d’authentification que vous choisissez
  • (Facultatif) Expression SQL initial à exécuter à chaque connexion de Tableau

Pilote requis

Ce connecteur nécessite un pilote pour communiquer avec la base de données. Il se peut que le pilote requis soit déjà installé sur votre ordinateur. Si le pilote n’est pas installé sur votre ordinateur, Tableau affiche une message d’erreur dans la boîte de dialogue de connexion avec un lien vers la page Téléchargement de pilotes(Le lien s’ouvre dans une nouvelle fenêtre) où vous trouverez des liens vers les pilotes et des instructions d’installation.

Remarque : pour prendre en charge OAuth avec Snowflake, vous devez installer le dernier pilote ODBC depuis Snowflake (actuellement version 2.25.4).

Établir la connexion et configurer la source des données

Après que vous avez sélectionné Snowflake comme connexion, un menu contextuel s’affiche avec 3 onglets. Utilisez l’onglet Général pour l’authentification. Vous pouvez également utiliser SQL initial si vous souhaitez exécuter une commande SQL au début de chaque connexion. Pour plus d’informations, voir Exécuter SQL initial. Vous pouvez utiliser l’onglet Avancé pour ajouter des connexions client avec des paramètres.

Connecter Tableau à vos données

  1. Démarrez Tableau et sous Connexion, sélectionnez Snowflake.
  2. Entrez le nom du serveur auquel vous souhaitez vous connecter.
  3. Sélectionnez la méthode d’Authentification : Nom d’utilisateur et mot de passe ou Nom d’utilisateur et mot de passe Okta ou Se connecter avec OAuth.
  4. Sélectionnez l’une des méthodes d’authentification et suivez les étapes de connexion.
    Nom d’utilisateur et mot de passe Okta :
    1. Entrez le Nom d’utilisateur et le Mot de passe.
    2. Dans le champ Okta, entrez l’URL du serveur Okta.
    Connexion à l’aide d’OAuth
    1. (Facultatif) Sélectionnez SQL initial si vous souhaitez exécuter une commande SQL au début de chaque connexion. Pour plus d’informations, voir Exécuter SQL initial.
    2. Sélectionnez Connexion.
    3. Dans la page Web qui s’ouvre, connectez-vous à Snowflake en saisissant votre Nom d’utilisateur et votre Mot de passe et en sélectionnant Connexion. Sinon, sélectionnez Authentification unique si Snowflake est configuré pour prendre en charge SSO.
    4. Cliquez sur OK pour confirmer l’autorisation d’accéder à vos données Snowflake.
    5. Fermez la fenêtre du navigateur et Tableau.
    6. Passez à la section suivante, « Configurer la source de données ».
  5. Sélectionnez Connexion.
  6. Si Tableau ne parvient pas à établir la connexion, vérifiez que vos informations d’identification sont correctes. Si la connexion n’aboutit toujours pas, cela signifie que votre ordinateur ne parvient pas à localiser le serveur. Contactez votre administrateur réseau ou votre administrateur de base de données.

Délai d'expiration du jeton d'accès : toujours valider le TDC du jeton d'accès

Le jeton d'accès Snowflake expire après 10 minutes. Dans certains processus d'actualisation d'extrait, de nouvelles connexions sont établies ultérieurement dans la tâche, lorsque le jeton d'accès a expiré. Pour résoudre ce problème, nous avons ajouté une nouvelle fonctionnalité, activée par défaut à partir de Tableau 2024.2. Pour activer cette fonctionnalité dans les anciennes versions, vous pouvez utiliser le TDC suivant.

<connection-customization class='snowflake' enabled='true' version='10.0'>
    <vendor name='snowflake' />
    <driver name='snowflake' />
    <customizations>
        <customization name='CAP_OAUTH_VALIDATE_ALWAYS' value='yes'/>
    </customizations>
</connection-customization>

Si vous utilisez Tableau Cloud, vous pouvez publier depuis Tableau Desktop avec le TDC installé dans le dossier des sources de données du référentiel Tableau. Le TDC sera ainsi intégré dans le classeur ou la source de données lors de la publication.

Le TDC intégré est toujours appliqué, quel que soit l’état de l’indicateur activé, tant qu’aucun autre TDC n’est installé côté serveur. Et aucun TDC n’est jamais installé sur Tableau Cloud (uniquement intégré).

Remarque : les TDC intégrés ne sont pas pris en charge avec les flux.

Personnaliser la connexion à l’aide des paramètres du pilote

Vous pouvez modifier la connexion établie avec le connecteur Snowflake en ajoutant les paramètres du pilote à la chaîne de connexion dans l’onglet Avancé.

Remarque : vous ne pouvez pas modifier les paramètres du pilote que Tableau génère ; vous pouvez seulement ajouter des paramètres.

Par exemple, cette syntaxe spécifie un serveur proxy à utiliser lorsque les conditions de valeurs no_proxy ne sont pas remplies et indique les noms d’hôtes autorisés à contourner le serveur proxy :

Proxy=http://proxyserver.company:80;no_proxy=.trustedserver.com;

Pour un autre exemple de paramètres de pilote personnalisés, consultez Utiliser un proxy pour Snowflake.

 

Remarque : si vous souhaitez une personnalisation sans l’intégrer dans la source de données, vous pouvez configurer les paramètres dans le registre sous Windows (seuls les paramètres marqués comme « Paramètres de configuration » sont disponibles). Pour plus de détails sur les paramètres du pilote, voir Paramètres de configuration et de connexion du pilote ODBC sur le site Web Snowflake.

Configurer la source de données

Sur la page de la source de données, procédez comme suit :

  1. (Facultatif) Sélectionnez le nom de la source de données par défaut en haut de la page, puis tapez un nom de source de données unique pour l’utiliser dans Tableau. Par exemple, utilisez une convention pertinente d’appellation de la source de données qui aide d’autres utilisateurs de la source de données à déduire à quelle source de données se connecter.

  2. Dans la liste déroulante Entrepôt, sélectionnez l’entrepôt ou utilisez la zone de texte pour rechercher un entrepôt par nom.

    Remarque : si vous laissez cette zone vide et que vous ne sélectionnez pas d’entrepôt, Tableau utilise votre entrepôt virtuel Snowflake par défaut.

    Pour en savoir plus, consultez Entrepôts virtuels par défaut dans Snowflake.

  3. Dans la liste déroulante Base de données, sélectionnez une base de données ou utilisez la zone de texte pour rechercher une base de données par nom.
  4. Dans la liste déroulante Schéma, sélectionnez un schéma ou utilisez la zone de texte pour rechercher un schéma par nom.
  5. Sous Table, sélectionnez une table ou utilisez la zone de texte pour rechercher une table par son nom.
  6. Faites glisser une table vers l’espace de travail, puis sélectionnez l’onglet de la feuille pour démarrer votre analyse.Utilisez SQL personnalisé pour vous connecter à une requête spécifique plutôt qu’à la source de données entière. Pour plus d’informations, voir Se connecter à une requête SQL personnalisée.

Connexion sur un Mac

Si vous utilisez Tableau Desktop sur un Mac, lorsque vous entrez le nom du serveur auquel vous connecter, utilisez un nom de domaine qualifié complet, par exemple mydb.test.ourdomain.lan, plutôt qu’un nom de domaine relatif tel que mydb ou mydb.test.

Vous pouvez sinon ajouter le domaine à la liste des Domaines de recherche pour l’ordinateur Mac. De cette manière, lorsque vous vous connectez, vous n’avez qu’à fournir le nom du serveur. Pour actualiser la liste des domaines de recherche, accédez à Préférences Système > Réseau > Avancé, puis ouvrez l’onglet DNS.

Entrepôts virtuels par défaut dans Snowflake

Lorsque vous créez une source de données Snowflake, vous créez à la fois un entrepôt Snowflake (pour les ressources informatiques) et des bases de données Snowflake (pour la ressource de données). Les entrepôts et les bases de données ont besoin d’autorisations pour y accéder. Vous pouvez utiliser différents entrepôts pour accéder à la même base de données, en fonction de la puissance de calcul dont vous avez besoin, en supposant que vous avez des autorisations pour chaque entrepôt et base de données.

Lorsque vous créez une source de données, vous avez la possibilité de choisir un entrepôt dans une liste déroulante, laisser ce champ vide et ne pas sélectionner d’entrepôt. Tableau utilise votre entrepôt virtuel Snowflake par défaut. Si vous publiez par la suite cette source de données ou ce classeur, lorsqu’un utilisateur se connecte, Tableau utilisera l’entrepôt virtuel Snowflake par défaut de cette personne.

Chaque utilisateur doit se voir attribuer un entrepôt par défaut afin que Tableau puisse l’utiliser par défaut pour ouvrir un classeur à partir d’une source de données Snowflake.

Configurer la prise en charge du serveur Snowflake pour OAuth

Pour plus d’informations sur la configuration d’OAuth pour les connexions entre Tableau et Snowflake, consultez Configurer OAuth pour les connexions Snowflake(Le lien s’ouvre dans une nouvelle fenêtre).

Utiliser un proxy pour Snowflake

Vous pouvez vous connecter à Snowflake depuis Tableau via un proxy. Si vous utilisez la version 2019.4 ou ultérieure, vous pouvez configurer cette option avec la boîte de dialogue du connecteur en entrant les paramètres requis dans l’onglet Avancé.

Par exemple :

proxy=http://proxyserver.company:80

Pour plus d’informations sur les paramètres que vous devez utiliser, consultez la documentation Snowflake(Le lien s’ouvre dans une nouvelle fenêtre).

Remarque : Tableau n’utilise pas de DSN pour se connecter à Snowflake. Vous pouvez donc ignorer les instructions contenues dans la documentation Snowflake sur l’utilisation d’un DSN.

Si vous utilisez une version de Tableau pré-2019.4, vous pouvez configurer cette option en entrant les paramètres d’un fichier TDC l’aide de la commande odbc-extras.

Par exemple :

Copier
<connection-customization class='snowflake' enabled='true' version='19.1'>
        <vendor name='snowflake' />
            <driver name='snowflake' />
                <customizations>
                <customization name='odbc-connect-string-extras' value='proxy=http://proxyserver.company:80' />
                </customizations></connection-customization>

Pour plus d’informations, consultez l’article Personnaliser la chaîne de connexion pour un connecteur natif(Le lien s’ouvre dans une nouvelle fenêtre).

Résolution des problèmes

Performances

Utilisez les informations suivantes pour résoudre les problèmes de performances que vous rencontrez lors de l'utilisation de Tableau avec Snowflake.

Taille de récupération

Lors de l'utilisation de champs VARCHAR ou VARBINARY illimités, le pilote renvoie la taille du champ en tant que 16M. Cela amène Tableau à utiliser une petite taille de récupération pour rester dans les limites de mémoire, ce qui entraîne une vitesse de requête lente. Vous pouvez résoudre ce problème de plusieurs manières.

Modifications du schéma

Si vous ajoutez une taille à la définition de colonne, telle que VARCHAR(256), Tableau pourra alors calculer la taille de récupération optimale.

Personnalisations de TDC

  • Vous pouvez utiliser les paramètres du pilote default_varchar_size ou default_binary_size.

Vous pouvez également définir une taille de champ maximale pour les champs sans limites.

  • Vous pouvez utiliser l'interface utilisateur avancée ou un TDC.

  • Vous devrez également définir une capacité supplémentaire CAP_ODBC_FETCH_BUFFERS_RESIZABLE.

Remarque : cette solution ne fonctionnera pas pour Tableau Cloud, sauf si vous utilisez Tableau Bridge.

  • Si vous utilisez Tableau Bridge, vous pouvez installer le TDC sur l'hôte Bridge afin qu'il s'applique à toutes les connexions passant par cet hôte. Voir quelques exemples ci-dessous.

Boîte de dialogue contextuelle Paramètres

Utilisez ce TDC si vous envisagez de personnaliser la taille du champ pour chaque source de données, à l'aide de l'interface utilisateur précédente.

Copier
<connection-customization class='snowflake' enabled='true' version='10.0'>
    <vendor name='snowflake' />
    <driver name='snowflake' />
    <customizations>
        <customization name='CAP_ODBC_FETCH_BUFFERS_RESIZABLE' value='yes'/>
    </customizations>
</connection-customization>

Utilisez ce TDC pour appliquer les personnalisations à toutes les sources de données.

Copier
<connection-customization class='snowflake' enabled='true' version='10.0'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customizations>
<customization name='CAP_ODBC_FETCH_BUFFERS_RESIZABLE' value='yes'/>
<customization name='odbc-connect-string-extras' value='default_varchar_size=512;default_binary_size=512'/>
</customizations>
</connection-customization>

Questions fréquemment posées

Voici quelques problèmes courants et la procédure à suivre pour les résoudre.

J’ai une erreur « Ce champ XXX n’existe pas ». Que dois-je faire ?

Cette erreur apparaît lorsque vous utilisez un champ de calcul, l'ajoutez à la feuille de calcul et remplacez la source de données par les données Snowflake (CustomSQL).

Utilisez la fonction Remplacer les références de champ pour résoudre l’erreur. Pour plus d’informations sur le remplacement des références de champ, reportez-vous à la rubrique Remplacer les références de champ.

 

Voir également

Merci de vos commentaires !Avis correctement envoyé. Merci