Snowflake

I den här artikeln beskriver vi hur du ansluter Tableau till ett Snowflake-datalager och konfigurerar datakällan.

Användningsanmärkningar: Nyckelparsautentisering med Snowflake

  • Om autentisering med nyckelpar ska användas med Snowflake måste du installera en ODBC-drivrutin från Snowflake av version 3.4.0 eller senare.
  • Autentisering med nyckelpar finns för Tableau Desktop och Tableau Cloud från och med version 2024.3. Det kommer att finnas för Tableau Server i en framtida version.
  • Publicering av arbetsböcker med Snowflake-autentisering med nyckelpar stöds inte vid webbredigering. Du måste använda Tableau Desktop för att skapa arbetsböckerna, som sedan kan publiceras i Tableau Cloud.

Innan du börjar

Innan du börjar ska du samla in följande anslutningsinformation:

  • Namn på den server som du vill ansluta till
  • Autentiseringsmetod:
    • OAuth: Använd denna metod om du vill aktivera federering från en identitetsprovider.
    • Användarnamn och lösenord: Använd denna metod om du vill lagra inloggningsuppgifter för användare i Snowflake.
    • Användarnamn och lösenord för Okta: Använd den här metoden om du planerar att använda Okta för att hantera autentisering.
    • Autentisering med nyckelpar: Använd offentliga och privata autentiseringsuppgifter för nyckelpar för säkrare anslutning.
  • De inloggningsuppgifter som krävs för den autentiseringsmetod du väljer.
    Obs! Om du använder autentisering med nyckelpar måste du använda OpenSSL version 3.x eller senare för att skapa nycklarna.
  • (Valfritt) Den inledande SQL-sats som ska köras varje gång Tableau ansluter.
  • (Valfritt) Eventuella anpassade drivrutinsparametrar eller en ny VARCHAR-standardstorlek som ska användas med den här anslutningen.

Obs! Om du vill använda Tableau Cloud med autentisering med nyckelpar måste du också spara inloggningsuppgifterna i Tableau Cloud innan du kan publicera arbetsböcker för delning. Mer information finns i Konfigurera Snowflake för nyckelparsautentisering.

Drivrutin krävs

Den här kopplingen kräver en drivrutin för att kommunicera med databasen. Om drivrutinen inte är installerad på datorn visar Tableau ett meddelande i dialogrutan Anslutning med en länk till nedladdningssidan med drivrutinen(Länken öppnas i ett nytt fönster) där du kan hitta länkar till drivrutiner och installationsinstruktioner.

Obs! Om autentisering med nyckelpar ska användas med Snowflake måste du installera en ODBC-drivrutin från Snowflake av version 3.4.0 eller senare.

Skapa anslutningen och konfigurera datakällan

När du har valt Snowflake som anslutning visas en dialogruta med tre flikar. Använd fliken Allmänt för att välja server, lager och autentiseringstyp. Du kan använda fliken Inledande SQL för att köra ett SQL-kommando i början av varje anslutning om du vill. Mer information finns i Köra inledande SQL. Slutligen kan du använda fliken Avancerat om du vill lägga till anpassade drivrutinsparametrar och en standardstorlek för VARCHAR.

Mer information om hur du konfigurerar OAuth för anslutningar mellan Tableau och Snowflake finns i Konfigurera OAuth för Snowflake-anslutningar(Länken öppnas i ett nytt fönster) och Extern OAuth för Snowflake.

Ansluta Tableau till dina data

  1. Under Till en server på skärmen Anslut väljer du Mer och sedan Snowflake.
  2. Ange namnet på den server som du vill ansluta till på fliken Allmänt.
  3. (Valfritt) Ange Roll och Lager.
  4. Välj den autentiseringsmetod du tänker använda: Användarnamn och lösenord, Användarnamn och lösenord för Okta, Logga in med OAuth eller Logga in med nyckelpar.
  5. (Valfritt) Välj Inledande SQL om du vill köra ett SQL-kommando i början av varje anslutning. Mer information finns i Köra inledande SQL.
  6. (Valfritt) För Tableau Desktop och Server anger du eventuella anpassade parametrar som du vill använda för den här anslutningen på fliken Avancerat. (Finns inte för Tableau Cloud.)
  7. Slutför inloggningsstegen för den valda autentiseringsmetoden:
    • Logga in med OAuth:
      1. Klicka på Logga in.
      2. På webbsidan som öppnas loggar du in på Snowflake genom att ange ditt användarnamn och lösenord. Välj sedan Logga in. Du kan också välja Enkel inloggning om Snowflake har konfigurerats med stöd för enkel inloggning.
      3. Klicka på OK för att bekräfta auktorisering för åtkomst till Snowflake-data.
    • Användarnamn och lösenord:
      1. Ange användarnamn och valfritt lösenord.
      2. Klicka på Logga in.
    • Användarnamn och lösenord för Okta:
      1. Ange användarnamn och valfritt lösenord.
      2. Ange det valfria SAML IdP (webbadressen för Okta-servern).
      3. Klicka på Logga in.
    • Logga in med nyckelpar
      1. I Server anger du Snowflake-serverns adress.
      2. Ange Lager och Roll, om så önskas.
      3. I Autentisering väljer du Logga in med nyckelpar.
      4. Ange det Användarnamn som är kopplat till de här nycklarna.
      5. I Privat nyckelfil bläddrar du till den .p8-fil som innehåller din privata nyckel.
      6. (Valfritt) Ange Privat nyckelfil för lösenord om den har lösenordsskydd.
  8. Följ sedan instruktionerna under Konfigurera datakällan.
  9. Om Tableau inte kan upprätta anslutningen, verifierar du att du har rätt inloggningsuppgifter. Om du fortfarande inte kan ansluta, har datorn problem med att hitta servern. Kontakta nätverksadministratören eller databasadministratören för ytterligare hjälp.

Tidsgräns för åtkomsttoken: Validera alltid åtkomsttoken med TDC

Snowflake-åtkomsttoken upphör att gälla efter 10 minuter. I vissa extraktuppdateringsprocesser etableras nya anslutningar senare i jobbet, när åtkomsttoken har upphört att gälla. För att lösa det här problemet har vi lagt till en ny funktion, som är aktiverad som standard från och med Tableau 2024.2. Du kan använda följande TDC för att aktivera den här funktionen i äldre versioner.

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

Den här TDC-filen kan användas med Tableau Desktop eller Tableau Server om du inkludera den i mappen Min Tableau-lagringsplats\Datakällor. I Tableau Cloud kan du använda Bridge och konfigurera en anpassad TDC-fil genom att ansluta där. Mer information finns i Anpassa och ställa in en anslutning.

Obs! Inbäddade TDC-filer stöds inte med flöden.

Anpassa anslutningen med hjälp av drivrutinsparametrar

Du kan ändra anslutningen till Snowflake-kopplingen genom att lägga till drivrutinsparametrar i anslutningssträngen på fliken Avancerat.

Obs! Det går inte att ändra drivrutinsparametrar som genereras av Tableau. Det går endast att lägga till parametrar.

Den här syntaxen anger till exempel en proxyserver som ska användas när no_proxy-värdena inte uppfylls och vilka värdnamn som är tillåtna att kringgå proxyservern:

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

Ytterligare exempel på anpassade drivrutinsparametrar finns i Använda en proxy för Snowflake.

Du kan också ange en alternativ storlek för VARCHAR i fältet Standardstorlek för VARCHAR (byte). Mer information om hur du använder det här fältet och hur det påverkar prestanda finns i Snowflakes ODBC-dokumentation.

Obs! Om du vill ha anpassning utan att bädda in den i datakällan kan du konfigurera parametrar i registret i Windows (endast parametrar som är markerade som ”Konfigurationsparametrar” är tillgängliga). Mer information om förarparametrar finns i ODBC konfigurations- och anslutningsparametrar på Snowflake-webbplatsen.

Konfigurera datakällan

På sidan Datakälla gör du följande:

  1. (Valfritt) Välj standardnamnet för datakällan längst upp på sidan och ange sedan ett unikt namn för datakällan, som ska användas i Tableau. Till exempel kan du använda en konvention för namngivning av datakälla som gör det lättare för andra användare av datakällan att räkna ut vilken datakälla de ska ansluta till.

  2. Välj ett lager i listrutan Lager eller använd textrutan för att söka efter ett lager med dess namn.

    Obs! Om du lämnar rutan tom och inte väljer ett lager använder Tableau ditt virtuella standardlager i Snowflake.

    Mer information finns i Virtuella standardlager i Snowflake.

  3. Välj en databas i listrutan Databas eller använd textrutan för att söka efter en databas med dess namn.
  4. Välj ett schema i listrutan Schema eller använd textrutan för att söka efter ett schema med dess namn.
  5. Under Tabell väljer du en tabell eller så använder du textrutan för att söka efter ett tabellnamn.
  6. Dra en tabell till arbetsytan och välj sedan bladflik för att starta analysen.

Obs! Om du publicerar arbetsböcker när du använder autentisering med nyckelpar kontrollerar du att du väljer rätt autentiseringstyp i delen Hantera datakällor i fönstret Publicera arbetsbok.

Logga in på en Mac

Om du använder Tableau Desktop på en Mac och anger servernamnet för att ansluta ska du använda ett fullständigt domännamn, såsom mydb.test.ourdomain.lan, istället för ett relativt domännamn, såsom mydb eller mydb.test.

Alternativt kan du lägga till domänen i listan över sökdomäner för Mac-datorn vilket låter dig endast ange servernamnet när du ansluter. Gå till Systeminställningar > Nätverk > Avancerat och öppna sedan fliken DNS för att uppdatera listan över sökdomäner.

Virtuella standardlager i Snowflake

När du skapar en Snowflake-datakälla skapas även ett Snowflake-lager (för beräkningsresurser) och Snowflake-databaser (för dataresurser). Både lager och databaser kräver särskilda åtkomstbehörigheter. Du kan använda olika lager för åtkomst till samma databas, beroende på vilken beräkningskapacitet du behöver, förutsatt att du har behörigheter för varje lager och databas.

När du skapar en datakälla kan du välja ett lager från en listruta. Om du lämnar rutan tom och inte väljer ett lager använder Tableau ditt virtuella standardlager i Snowflake. Om du därefter publicerar den datakällan eller arbetsboken, använder Tableau den anslutna användarens virtuella standardlager i Snowflake.

Alla användare bör tilldelas ett standardlager, så att Tableau kan använda det som standard för att öppna en arbetsbok från en Snowflake-datakälla.

Använda en proxy för Snowflake

Du kan ansluta från Tableau via en proxy till Snowflake. Om du använder Tableau version 2019.4 eller senare kan anslutningen konfigureras med kopplingens dialogruta genom att ange de nödvändiga parametrarna på fliken Avancerat.

Till exempel:

proxy=http://proxyserver.company:80

Mer information om vilka parametrar du ska använda finns i Snowflake-dokumentationen(Länken öppnas i ett nytt fönster).

Obs! Tableau använder inte en DSN för att ansluta till Snowflake, så du kan ignorera instruktionerna i Snowflake-dokumentationen om att använda en DSN.

Om du använder en tidigare version av Tableau än 2019.4 kan du konfigurera anslutningen genom att ange parametrarna i en TDC-fil med odbc-extras.

Till exempel:

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

Mer information finns i artikeln Anpassa anslutningssträngen för en namngiven koppling(Länken öppnas i ett nytt fönster).

Felsökning

Prestanda och hämtningsstorlek

För att få bästa möjliga prestanda, särskilt för extrakt, måste Tableau fastställa en optimal hämtningsstorlek. Det finns två sätt att förbättra detta: genom att ställa in gränser för fält med variabel längd och genom att aktivera hämtningsbuffertar som kan ändra storlek. Du får bäst resultat om du använder båda.

Fastställa aktuell hämtningsstorlek

Den hämtningsstorlek som används loggas i tabprotosrv-loggarna. Tabprotosrv är drivrutinens isolerade process. Här är ett exempel:

ODBCRowsetSource::ODBCRowsetSource: Attempting to set the row fetch size to 4128 rows, with 254 bytes per row

Obs! Vissa av förslagen nedan kräver TDC-filer, men de fungerar inte i Tableau Cloud om du inte använder Tableau Bridge. Med Tableau Bridge kan du installera TDC-filen på Bridge-värden, så att den gäller för alla anslutningar som passerar den värden.

Gränser för fält med variabel längd

När du använder obegränsade VARCHAR- eller VARBINARY-fält returnerar drivrutinen fältstorleken som 16 MB. Det medför att Tableau använder en liten hämtningsstorlek för att hålla sig inom minnesbegränsningarna, vilket resulterar i långsamma frågehastigheter. Det finns flera sätt att lösa detta:

  • Lägg till en gräns i kolumndefinitionen i databasen, till exempel VARCHAR(256), eller lägg tabellen i en vy som gör samma sak.
  • Använd fältet ”Standardstorlek för VARCHAR (byte)” på fliken Avancerat när du ansluter till Snowflake i Tableau Desktop. Detta har bytt namn från ”Max. VARCHAR-storlek” i Tableau 2024.3, men det gör samma sak. Det ställer in parametern default_varchar_size för ODBC-drivrutinen, vilket begränsar den fältstorlek som returneras till Tableau. Du hittar mer information i https://docs.snowflake.com/en/developer-guide/odbc/odbc-parameters(Länken öppnas i ett nytt fönster).
  • Använd en TDC-anpassning som nedan:

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

Aktivera CAP_ODBC_FETCH_BUFFERS_RESIZABLE

Detta är aktiverat som standard från och med Tableau 2024.3. I tidigare versioner kan du använda en TDC-fil. Du använder en TDC-fil som den nedan om du vill konfigurera default_varchar_size i databasen.

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

Vanliga frågor

Här följer några vanliga problem och hur du löser dem.

Jag har stött på ett fel ”Fältet XXX finns inte”. Vad ska jag göra?

Det här felet uppstår när du använder ett beräkningsfält, lägger till det i arbetsbladet och ersätter datakällan med Snowflake-data (anpassad SQL).

Använd funktionen Ersätt fältreferenser för att lösa felet. Ytterligare information om hur du ersätter fältreferenser finns i Ersätta fältreferenser.

 

Se även

Tack för din feedback!Din feedback har skickats in. Tack!