Snowflake

In diesem Artikel werden das Herstellen einer Verbindung zwischen Tableau und einem Snowflake Data Warehouse und das Einrichten der Datenquelle beschrieben.

Hinweis: Die Schlüsselpaar-Authentifizierung ist für Tableau Desktop und Tableau Cloud ab Version 2024.3 verfügbar. Sie wird in einer künftigen Version in Tableau Server verfügbar sein.

Hinweis: Das Veröffentlichen von Arbeitsmappen mit Snowflake-Schlüsselpaar-Authentifizierung wird bei der Webdokumenterstellung nicht unterstützt. Sie müssen Tableau Desktop verwenden, um die Arbeitsmappen zu erstellen, die dann auf Tableau Cloud veröffentlicht werden können.

Voraussetzungen

Stellen Sie zunächst diese Verbindungsinformationen zusammen:

  • Name des Servers, zu dem Sie eine Verbindung herstellen möchten
  • Authentifizierungsmethode:
    • OAuth: Verwenden Sie diese Methode, wenn Sie den Verbund von einem Identitätsanbieter aus aktivieren möchten.
    • Benutzername und Kennwort: Verwenden Sie diese Methode, wenn Sie Benutzeranmeldeinformationen in Snowflake speichern möchten.
    • Okta-Benutzername und -Kennwort: Verwenden Sie diese Methode, wenn Sie Okta zur Verwaltung Ihrer Authentifizierung verwenden möchten.
    • Schlüsselpaar-Authentifizierung: Verwenden Sie öffentliche und private Schlüsselpaar-Anmeldeinformationen für eine sicherere Verbindung.
  • Die Anmeldeinformationen, die für die von Ihnen gewählte Authentifizierungsmethode erforderlich sind.
    Hinweis: Wenn Sie die Schlüsselpaar-Authentifizierung verwenden, müssen Sie zum Erstellen der Schlüssel OpenSSL Version 3.x oder höher verwenden.
  • (Optional) Anfängliche SQL-Anweisung, die bei jeder Verbindungsherstellung von Tableau ausgeführt wird.
  • (Optional) Alle benutzerdefinierten Treiberparameter oder eine neue Standard-VARCHAR-Größe zur Verwendung mit dieser Verbindung.

Hinweis: Um Tableau Cloud mit Schlüsselpaar-Authentifizierung zu verwenden, müssen Sie die Anmeldeinformationen auch in Tableau Cloud speichern, bevor Sie Arbeitsmappen zum Teilen veröffentlichen können. Weitere Informationen finden Sie unter Konfigurieren von Snowflake für die Schlüsselpaar-Authentifizierung.

Treiber erforderlich

Damit dieser Connector mit der Datenbank kommunizieren kann, wird ein Treiber benötigt. Wenn der Treiber nicht auf Ihrem Computer installiert ist, wird in Tableau eine Meldung im Verbindungsdialogfeld angezeigt, die einen Link zu der Seite Treiber herunterladen(Link wird in neuem Fenster geöffnet) enthält. Dort finden Sie Treiber-Links und Installationsanweisungen.

Hinweis: Um die Verwendung der Schlüsselpaar-Authentifizierung mit Snowflake zu unterstützen, müssen Sie einen ODBC-Treiber von Snowflake mit der Version 3.4.0 oder neuer installieren.

Herstellen der Verbindung und Einrichten der Datenquelle

Nachdem Sie Snowflake als Ihre Verbindung ausgewählt haben, wird ein Dialogfeld mit drei Registerkarten angezeigt. Verwenden Sie die Registerkarte Allgemein, um Server, Warehouse und Authentifizierungstyp auszuwählen. Sie können auch die Registerkarte Initiale SQL-Befehle auswählen, wenn Sie einen SQL-Befehl am Anfang jeder Verbindung ausführen möchten. Weitere Informationen finden Sie unter Ausführen von initialen SQL-Befehlen. Schließlich können Sie auf der Registerkarte Erweitert optional benutzerdefinierte Treiberparameter und eine VARCHAR-Standardgröße hinzuzufügen.

Informationen zum Konfigurieren von OAuth für Verbindungen zwischen Tableau und Snowflake finden Sie unter Konfigurieren von OAuth für Snowflake-Verbindungen(Link wird in neuem Fenster geöffnet) und Externes OAuth für Snowflake.

Tableau mit Ihren Daten verbinden

  1. Wählen Sie auf dem Bildschirm Verbinden unter Mit einem Server die Option Mehr und dann Snowflake.
  2. Geben Sie auf der Registerkarte Allgemein den Namen des Servers ein, zu dem Sie eine Verbindung herstellen möchten.
  3. (Optional) Geben Sie die Rolle und das Warehouse ein.
  4. Wählen Sie die zu verwendende Authentifizierungsmethode aus: Benutzername und Kennwort, Okta-Benutzername und -Kennwort, Mit OAuth anmelden oder Mit Schlüsselpaar anmelden.
  5. (optional) Wählen Sie Initiale SQL-Befehle aus, wenn Sie einen SQL-Befehl am Anfang jeder Verbindung ausführen möchten. Weitere Informationen finden Sie unter Ausführen von initialen SQL-Befehlen.
  6. (Optional) Geben Sie für Tableau Desktop und Server auf der Registerkarte Erweitert alle benutzerdefinierten Parameter ein, die Sie für diese Verbindung verwenden möchten. (In Tableau Cloud nicht verfügbar)
  7. Führen Sie die Anmeldeschritte für die ausgewählte Authentifizierungsmethode aus:
    • Mit OAuth anmelden:
      1. Klicken Sie auf Anmelden.
      2. Melden Sie sich auf der daraufhin geöffneten Webseite bei Snowflake an, indem Sie Ihren Benutzernamen und Ihr Kennwort eingeben und „Anmelden“ auswählen. Alternativ können Sie Single Sign-On auswählen, wenn Snowflake für die Unterstützung von SSO konfiguriert ist.
      3. Klicken Sie auf OK , um die Autorisierung für den Zugriff auf Ihre Snowflake-Daten zu bestätigen.
    • Benutzername und Kennwort:
      1. Geben Sie den Benutzernamen und das optionale Kennwort ein.
      2. Klicken Sie auf Anmelden.
    • Okta-Benutzername und -Kennwort:
      1. Geben Sie den Benutzernamen und das optionale Kennwort ein.
      2. Geben Sie den optionalen SAML-IdP ein (die URL für Ihren Okta-Server).
      3. Klicken Sie auf Anmelden.
    • Mit Schlüsselpaar anmelden
      1. Geben Sie in Server die Snowflake-Serveradresse ein.
      2. Geben Sie das Warehouse und optional die Rolle ein.
      3. Wählen Sie unter Authentifizierung die Option Mit Schlüsselpaar anmelden aus.
      4. Geben Sie den Benutzernamen ein, der mit diesen Schlüsseln verknüpft ist.
      5. Navigieren Sie in Private Schlüsseldatei zu der P8-Datei, die Ihren privaten Schlüssel enthält.
      6. (Optional) Geben Sie des Kennwort der privaten Schlüsseldatei, falls sie durch eines geschützt ist.
  8. Befolgen Sie als Nächstes die Anweisungen unter „Einrichten der Datenquelle“.
  9. Wenn Tableau keine Verbindung herstellen kann, überprüfen Sie die Richtigkeit Ihrer Anmeldeinformationen. Falls Sie weiterhin keine Verbindung herstellen können, kann der Computer den Server nicht finden. Wenden Sie sich an Ihren Netzwerkadministrator oder Datenbankadministrator.

Timeout des Zugriffstokens: Zugriffstoken-TDC immer validieren

Der Snowflake-Zugriffstoken läuft nach 10 Minuten ab. Bei bestimmten Extrakt-Aktualisierungsprozessen werden zu einem späteren Zeitpunkt im Auftrag neue Verbindungen hergestellt, wenn der Zugriffstoken abgelaufen ist. Um dieses Problem zu beheben, haben wir eine neue Funktion hinzugefügt, die ab Tableau 2024.2 standardmäßig aktiviert ist. Um diese Funktion in älteren Versionen zu aktivieren, können Sie den folgenden TDC-Datei verwenden.

<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>

Dieses TDC kann mit Tableau Desktop oder Tableau Server verwendet werden, indem es in den Datenquellenordner des Tableau-Repositorys aufgenommen wird. Für Tableau Cloud können Sie Bridge verwenden und einen benutzerdefinierten TDC konfigurieren, indem Sie dort eine Verbindung herstellen. Weitere Informationen finden Sie unter Anpassen und Optimieren einer Verbindung.

Hinweis: Eingebettete TDC-Dateien werden mit Schemata nicht unterstützt.

Anpassen der Verbindung mithilfe von Treiberparametern

Sie können die mit dem Snowflake-Connector vorgenommene Verbindung ändern, indem Sie in der Registerkarte Erweitert Treiberparameter an die Verbindungszeichenfolge anhängen.

Hinweis: Sie können die von Tableau generierten Treiberparameter nicht ändern; Sie können lediglich die Parameter anhängen.

Diese Syntax gibt beispielsweise einen Proxyserver an, der verwendet werden soll, wenn die no_proxy-Werte nicht erfüllt sind und Hostnamen den Proxyserver umgehen dürfen:

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

Ein weiteres Beispiel für benutzerdefinierte Treiberparameter finden Sie unter Verwenden eines Proxys für Snowflake.

Sie können auch eine alternative Größe für VARCHAR in das Feld Standardmäßige VARCHAR-Größe (Bytes) eingeben. Weitere Einzelheiten zur Verwendung dieses Felds und den Auswirkungen auf die Leistung finden Sie in der Snowflake ODBC-Dokumentation.

Hinweis: Wenn Sie Anpassungen wünschen, ohne sie in die Datenquelle einzubetten, können Sie unter Windows Parameter in der Registrierung konfigurieren (nur Parameter, die als "Konfigurationsparameter" gekennzeichnet sind, sind verfügbar). Einzelheiten zu Treiberparametern finden Sie unter ODBC-Konfigurations- und Verbindungsparameter auf der Snowflake-Website.

Einrichten der Datenquelle

Gehen Sie auf der Datenquellenseite wie folgt vor:

  1. (Optional) Wählen Sie den Standard-Datenquellennamen oben auf der Seite aus, und geben Sie dann einen eindeutigen Datenquellennamen für die Verwendung in Tableau ein. Beispielsweise können Sie eine Benennungskonvention für die Datenquelle verwenden, die anderen Benutzern hilft, daraus abzuleiten, welche Datenquelle verbunden werden soll.

  2. Wählen Sie in der Dropdown-Liste Warehouse ein Warehouse aus, oder suchen Sie im Textfeld anhand des Namens nach einem Warehouse.

    Hinweis: Wenn Sie dieses Feld leer lassen und kein Warehouse auswählen, verwendet Tableau Ihr virtuelles Warehouse in Snowflake.

    Weitere Informationen finden Sie unter Standardmäßige virtuelle Warehouses in Snowflake.

  3. Wählen Sie in der Dropdown-Liste Datenbank eine Datenbank aus, oder suchen Sie mithilfe des Textfeldes nach einer Datenbank anhand ihres Namens.
  4. Wählen Sie in der Dropdown-Liste Schema ein Schema aus, oder suchen Sie mithilfe des Textfeldes ein Schema anhand seines Namens.
  5. Wählen Sie unter Tabelle eine Tabelle aus, oder suchen Sie über das Textfeld eine Tabelle nach Namen.
  6. Ziehen Sie die Tabelle in den Arbeitsbereich, und klicken Sie dann auf die Blattregisterkarte, um Ihre Analyse zu starten.

Hinweis: Wenn Sie Ihre Arbeitsmappen mit der Schlüsselpaar-Authentifizierung veröffentlichen, achten Sie darauf, dass Sie den richtigen Authentifizierungstyp im Abschnitt Datenquellen verwalten des Fensters Arbeitsmappe veröffentlichen auswählen.

Anmelden bei einem Mac

Wenn Sie Tableau Desktop auf einem Mac verwenden, geben Sie einen vollständig qualifizierten Domänennamen (beispielsweise "mydb.test.ourdomain.lan") anstelle eines relativen Domänennamens (beispielsweise "mydb" oder "mydb.test") ein.

Alternativ können Sie die Domäne der Liste der Suchdomänen für den Mac-Computer hinzufügen, sodass Sie zur Herstellung einer Verbindung nur den Servernamen angeben müssen. Zum Aktualisieren der Liste der Suchdomänen gehen Sie zu System-Voreinstellungen > Netzwerk > Erweitert, und öffnen Sie dann die Registerkarte DNS.

Standardmäßige virtuelle Warehouses in Snowflake

Wenn Sie eine Snowflake-Datenquelle erstellen, erstellen Sie sowohl ein Snowflake-Warehouse (für Rechenressourcen) als auch Snowflake-Datenbanken (für Datenressourcen). Sowohl Warehouses als auch Datenbanken benötigen Berechtigungen für den Zugriff. Sie können verschiedene Warehouses verwenden, um auf dieselbe Datenbank zuzugreifen, je nach erforderlicher Rechenleistung, vorausgesetzt, Sie verfügen über Berechtigungen für jedes Warehouse und jede Datenbank.

Wenn Sie eine Datenquelle anlegen, haben Sie die Möglichkeit, ein Warehouse aus einer Dropdownliste auszuwählen. Wenn Sie dieses Feld leer lassen und kein Warehouse auswählen, verwendet Tableau Ihr standardmäßiges virtuelles Snowflake-Warehouse. Wenn Sie diese Datenquelle oder Arbeitsmappe anschließend veröffentlichen, verwendet Tableau bei der Verbindung eines Benutzers das standardmäßige virtuelle Snowflake-Warehouse dieser Person.

Jedem Benutzer sollte ein Standard-Warehouse zugewiesen werden, damit Tableau dieses als Standard verwenden kann, um eine Arbeitsmappe aus einer Snowflake-Datenquelle zu öffnen.

Verwenden eines Proxys für Snowflake

Sie können von Tableau aus über einen Proxy eine Verbindung zu Snowflake herstellen. Wenn Sie Tableau ab Version 2019.4 oder höher verwenden, können Sie dies im Dialogfeld „Connector“ konfigurieren, indem Sie die erforderlichen Parameter auf der Registerkarte Erweitert eingeben.

Beispiel:

proxy=http://proxyserver.company:80

Informationen zu den Parametern, die verwendet werden sollten, finden Sie in der Snowflake-Dokumentation(Link wird in neuem Fenster geöffnet).

Hinweis: Tableau verwendet keinen DSN, um eine Verbindung mit Snowflake herzustellen. Daher können Sie die Anweisungen in der Snowflake-Dokumentation zur Verwendung eines DSN ignorieren.

Wenn Sie eine Version von Tableau vor 2019.4 verwenden, können Sie dies konfigurieren, indem Sie die Parameter in eine TDC-Datei unter Verwendung von odbc-extras eingeben.

Beispiel:

Kopieren
<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>

Weitere Informationen finden Sie im Artikel Customize the Connection String for a Native Connector(Link wird in neuem Fenster geöffnet) (Anpassen der Verbindungszeichenfolge für einen nativen Connector).

Problembehebung

Leistung und Abrufgröße

Um die beste Leistung zu erzielen, insbesondere für Auszüge, muss Tableau eine optimale Abrufgröße ermitteln. Dies lässt sich auf zwei Arten verbessern: durch Festlegen von Grenzwerten für Felder mit variabler Länge und durch Aktivieren von Abrufpuffern mit veränderbarer Größe. Um die besten Ergebnisse zu erzielen, sollten Sie beides verwenden.

Ermitteln der aktuellen Abrufgröße

Die verwendete Abrufgröße wird in den Tabprotosrv-Protokollen protokolliert. Tabprotosrv ist der Sandbox-Prozess des Treibers. Nachfolgend finden Sie ein Beispiel:

ODBCRowsetSource::ODBCRowsetSource: Versuch, die Zeilenabrufgröße auf 4128 Zeilen mit 254 Bytes pro Zeile festzulegen

Hinweis: Einige der folgenden Vorschläge erfordern TDCs, aber diese funktionieren auf Tableau Cloud nicht, es sei denn, Sie verwenden Tableau Bridge. Mit Tableau Bridge können Sie die TDC-Datei auf dem Bridge-Host installieren, damit sie auf alle Verbindungen angewendet wird, die über diesen Host verlaufen.

Längenbeschränkungen für variable Felder

Bei Verwendung unbegrenzter VARCHAR- oder VARBINARY-Felder gibt der Treiber eine Feldgröße von 16 MB zurück. Dies führt dazu, dass Tableau eine kleine Abrufgröße verwendet, um innerhalb der Speichergrenzen zu bleiben. Das hat wiederum eine langsame Abfragegeschwindigkeit zur Folge. Hierfür gibt es mehrere Lösungsmöglichkeiten:

  • Fügen Sie der Spaltendefinition in der Datenbank eine Begrenzung hinzu, beispielsweise VARCHAR(256), oder schließen Sie die Tabelle in eine Ansicht ein, die dasselbe tut.
  • Verwenden Sie das Feld „Standard-VARCHAR-Größe (Bytes)“ auf der Registerkarte Erweitert, wenn in Tableau Desktop eine Verbindung mit Snowflake hergestellt wird. Dies wurde in Tableau 2024.3 von „Maximale VARCHAR-Größe“ umbenannt, hat aber die gleiche Funktion. Es legt den Parameter default_varchar_size für den ODBC-Treiber fest, der die an Tableau zurückgegebene Feldgröße begrenzt. Weitere Informationen finden Sie unter https://docs.snowflake.com/de/developer-guide/odbc/odbc-parameters(Link wird in neuem Fenster geöffnet).
  • Verwenden Sie eine TDC-Anpassung wie unten:

<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>

Aktivieren von CAP_ODBC_FETCH_BUFFERS_RESIZABLE

Seit Tableau 2024.3 ist dies standardmäßig aktiviert. Bei älteren Versionen können Sie eine TDC verwenden. Sie würden eine TDC wie die untenstehende verwenden, wenn Sie die default_varchar_size in der Benutzeroberfläche oder in der Datenbank konfigurieren möchten, anstatt die TDC zu verwenden.

<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>

Häufig gestellte Fragen

Nachfolgend sind einige häufig auftretende Probleme und entsprechende Lösungsschritte aufgeführt.

Ich habe die Fehlermeldung "Dieses Feld XXX existiert nicht" erhalten, was soll ich tun?

Dieser Fehler tritt auf, wenn Sie ein berechnetes Feld verwenden, zum Arbeitsblatt hinzufügen und die Datenquelle durch die Snowflake-Daten ersetzen (benutzerdefinierte SQL).

Verwenden Sie die Funktion Feldverweise ersetzen, um den Fehler zu beheben. Weitere Informationen zum Ersetzen von Feldverweisen finden Sie unter Feldverweise ersetzen.

 

Siehe auch

Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.