Snowflake

Questo articolo descrive come connettere Tableau a un data warehouse Snowflake e impostare l’origine dati.

Nota: l’autenticazione con coppia di chiavi è disponibile per Tableau Desktop e Tableau Cloud a partire dalla versione 2024.3. Sarà disponibile in Tableau Server in una versione futura.

Nota: la pubblicazione di cartelle di lavoro con l’autenticazione tramite coppia di chiavi Snowflake non è supportata in Web authoring. Per creare cartelle di lavoro che possano poi essere pubblicate in Tableau Cloud, devi utilizzare Tableau Desktop.

Prima di iniziare

Prima di iniziare, raccogli queste informazioni di connessione:

  • Nome del server a cui desideri connetterti
  • Metodo di autenticazione:
    • OAuth: utilizza questo metodo se desideri abilitare la federazione da un IDP.
    • Nome utente e password: utilizza questo metodo se desideri memorizzare le credenziali utente in Snowflake.
    • Nome utente e password Okta: utilizza questo metodo se intendi utilizzare Okta per gestire la tua autenticazione.
    • Autenticazione con coppia di chiavi: utilizza credenziali con coppia di chiavi pubblica e privata per una connessione più sicura.
  • Credenziali di accesso necessarie per il metodo di autenticazione scelto.
    Nota: se utilizzi l’autenticazione con coppia di chiavi, devi creare le chiavi tramite OpenSSL versione 3.x o successiva.
  • (Facoltativo) Istruzione SQL iniziale da eseguire a ogni connessione Tableau.
  • (Facoltativo) Eventuali parametri di driver personalizzati o una nuova dimensione VARCHAR predefinita da utilizzare con la connessione.

Nota: per utilizzare Tableau Cloud con l’autenticazione con coppia di chiavi, devi salvare le credenziali anche in Tableau Cloud prima di pubblicare cartelle di lavoro per la condivisione. Per maggiori informazioni, consulta Configurare Snowflake per l'autenticazione tramite coppia di chiavi.

Driver necessario

Questo connettore richiede un driver per comunicare con il database. Se il driver non è installato sul computer, Tableau visualizza un messaggio nella finestra di dialogo di connessione con un link alla pagina di download dei driver(Il collegamento viene aperto in una nuova finestra) dove si trovano i link del driver e le istruzioni di installazione.

Nota: per supportare l’utilizzo dell’autenticazione con coppia di chiavi con Snowflake, devi installare un driver ODBC da Snowflake (versione 3.4.0 o successiva).

Effettuare la connessione e impostare l’origine dati

Dopo aver selezionato Snowflake come connessione, viene visualizzata una finestra di dialogo con tre schede. Utilizza la scheda Generale per selezionare Server, Warehouse e Tipo di autenticazione. Puoi utilizzare la scheda SQL iniziale per eseguire facoltativamente un comando SQL all’inizio di ogni connessione. Per ulteriori informazioni, consulta Eseguire le istruzioni SQL iniziali. Infine, puoi utilizzare la scheda Avanzato per aggiungere facoltativamente parametri di driver personalizzati e una dimensione VARCHAR predefinita.

Per informazioni su come configurare OAuth per le connessioni tra Tableau e Snowflake, consulta Configurare OAuth per le connessioni Snowflake(Il collegamento viene aperto in una nuova finestra) e OAuth esterno per Snowflake.

Connettere Tableau ai dati

  1. Nella schermata Connetti, in A un server, seleziona Altro, quindi seleziona Snowflake.
  2. Nella scheda Generale, immetti il nome del server a cui desideri connetterti.
  3. (Facoltativo) Immetti Ruolo eWarehouse.
  4. Seleziona il metodo di autenticazione che utilizzerai: Nome utente e password, Nome utente e password Okta, Accesso con OAuth o Accedi utilizzando la coppia di chiavi.
  5. (Facoltativo) Seleziona SQL iniziale se desideri eseguire un comando SQL all’inizio di ogni connessione. Per ulteriori informazioni, consulta Eseguire le istruzioni SQL iniziali.
  6. (Facoltativo) Per Tableau Desktop e Tableau Server, immetti eventuali parametri personalizzati nella scheda Avanzato che desideri utilizzare per questa connessione (non disponibile in Tableau Cloud).
  7. Completa le fasi di accesso per il metodo di autenticazione selezionato:
    • Accesso con OAuth:
      1. Fai clic su Accedi.
      2. Nella pagina Web che si apre, accedi a Snowflake inserendo il nome utente e la password e seleziona Accedi. In alternativa, seleziona Single Sign On se Snowflake è configurato per il supporto SSO.
      3. Fai clic su OK per confermare l’autorizzazione per accedere ai dati di Snowflake.
    • Nome utente e password:
      1. Immetti il nome utente e la password facoltativa.
      2. Fai clic su Accedi.
    • Nome utente e password Okta:
      1. Immetti il nome utente e la password facoltativa.
      2. Immetti l’IdP SAML facoltativo (l’URL per il tuo server Okta).
      3. Fai clic su Accedi.
    • Accedi utilizzando la coppia di chiavi
      1. In Server, immetti l’indirizzo del server Snowflake.
      2. Immetti Warehouse e facoltativamente Ruolo.
      3. In Autenticazione seleziona Accedi utilizzando la coppia di chiavi.
      4. Immetti i Nome utente associato a queste chiavi.
      5. In File chiave privata vai al file .p8 contenente la tua chiave privata.
      6. (Facoltativo) Immetti la Password del file chiave privata se il file è protetto da password.
  8. Quindi, segui le istruzioni riportate in Impostare l’origine dati.
  9. Se Tableau non riesce a effettuare la connessione, verifica che le tue credenziali siano corrette. Se ancora non riesci a connetterti, significa che il tuo computer ha problemi a localizzare il server. Contatta l’amministratore di rete o l’amministratore del database.

Timeout del token di accesso: convalida sempre il file TDC del token di accesso

Il token di accesso Snowflake scade dopo 10 minuti. In alcuni processi di aggiornamento dell’estrazione le nuove connessioni vengono stabilite più avanti nel processo quando il token di accesso è scaduto. Per risolvere questo problema abbiamo aggiunto una nuova funzionalità, abilitata per impostazione predefinita a partire da Tableau 2024.2. Per abilitare questa funzionalità nelle versioni precedenti è possibile utilizzare il seguente file TDC.

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

Questo file TDC può essere utilizzato con Tableau Desktop o Tableau Server includendolo nella cartella delle origini dati del repository di Tableau. Per Tableau Cloud, puoi utilizzare Bridge e configurare un file TDC personalizzato connettendoti da lì. Per maggiori informazioni, consulta Personalizzare e ottimizzare una connessione.

Nota: i file TDC incorporati non sono supportati con i flussi.

Personalizzare la connessione utilizzando i parametri dei driver

Puoi modificare la connessione effettuata con il connettore Snowflake aggiungendo i parametri del driver alla stringa di connessione nella scheda Avanzato.

Nota: non puoi modificare i parametri driver che vengono generati da Tableau, ma solo aggiungerne altri.

Ad esempio, questa sintassi specifica un server proxy da utilizzare quando i valori no_proxy non sono soddisfatti e i nomi host sono autorizzati a ignorare il server proxy:

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

Per un altro esempio di parametri personalizzati del driver, consulta Utilizzare un proxy per Snowflake.

Puoi anche immettere una dimensione alternativa per VARCHAR nel campo Dimensione predefinita VARCHAR (byte). Per maggiori dettagli sull’utilizzo di questo campo e sul suo impatto sulle prestazioni, consulta la documentazione relativa a ODBC di Snowflake.

Nota: se desideri la personalizzazione senza incorporarla nell’origine dati, puoi configurare i parametri nel Registro di sistema di Windows (sono disponibili solo i parametri contrassegnati come "Parametri di configurazione"). Per informazioni dettagliate sui parametri dei driver, consulta ODBC Configuration and Connection Parameters nel sito Web di Snowflake.

Impostare l’origine dati

Nella pagina dell’origine dati, esegui le seguenti operazioni:

  1. (Facoltativo) Seleziona il nome dell’origine dati predefinita nella parte superiore della pagina, quindi immetti un nome univoco per l’origine dati da utilizzare in Tableau. Ad esempio, utilizza una convenzione di denominazione dell’origine dati che aiuti gli altri utenti a capire a quale origine dati connettersi.

  2. Nell’elenco a discesa Warehouse seleziona un warehouse o utilizza la casella di testo per cercare un warehouse per nome.

    Nota: se lasci vuoto questo campo e non selezioni un warehouse, Tableau utilizza il warehouse virtuale predefinito di Snowflake.

    Per maggiori informazioni, consulta Warehouse virtuali predefiniti in Snowflake.

  3. Nell’elenco a discesa Database seleziona un database o utilizza la casella di testo per cercare un database per nome.
  4. Nell’elenco a discesa Schema seleziona uno schema o utilizza la casella di testo per cercare uno schema per nome.
  5. In Tabella, seleziona una tabella o utilizza la casella di testo per cercare una tabella per nome.
  6. Trascina una tabella sul canvas, quindi seleziona la scheda foglio per avviare l’analisi.

Nota: se pubblichi le tue cartelle di lavoro durante l’utilizzo dell’autenticazione con coppia di chiavi, assicurati di selezionare il tipo di autenticazione corretto nella sezione Gestisci origini dati della finestra Pubblica cartella di lavoro.

Accedere su Mac

Se usi Tableau Desktop su un Mac, quando inserisci il nome del server per connetterti, usa un nome di dominio pienamente qualificato, come mydb.test.ourdomain.lan, invece di un nome di dominio relativo, come mydb o mydb.test.

In alternativa, aggiungi il dominio all’elenco dei domini di ricerca per il computer Mac. In questo modo, quando ti connetterai, dovrai specificare solo il nome del server. Per aggiornare l’elenco dei domini di ricerca, vai su Preferenze di sistema > Rete > Avanzate, quindi apri la scheda DNS.

Warehouse virtuali predefiniti in Snowflake

Quando crei un’origine dati Snowflake, stai creando un warehouse Snowflake (per le risorse computazionali) e un database Snowflake (per la risorsa dati). Sia i warehouse che i database richiedono autorizzazioni per l’accesso. Puoi utilizzare warehouse diversi per accedere allo stesso database, a seconda della potenza di calcolo necessaria, presupponendo di disporre delle autorizzazioni per ogni warehouse e database.

Quando crei un’origine dati, puoi scegliere un warehouse da un elenco a discesa. Se lasci vuoto questo campo e non selezioni un warehouse, Tableau utilizza il warehouse virtuale predefinito di Snowflake. Se successivamente pubblichi l’origine dati o la cartella di lavoro, quando un utente si connette, Tableau utilizzerà il warehouse virtuale Snowflake predefinito di tale persona.

A ogni utente deve essere assegnato un warehouse predefinito, in modo che Tableau possa utilizzarlo come predefinito per aprire una cartella di lavoro da un’origine dati Snowflake.

Utilizzare un proxy per Snowflake

Puoi connetterti da Tableau tramite un proxy a Snowflake. Se utilizzi Tableau versione 2019.4 o versione successiva, puoi configurare questa funzionalità con la finestra di dialogo del connettore, digitando i parametri richiesti nella scheda Avanzato.

Ad esempio:

proxy=http://proxyserver.company:80

Per informazioni sui parametri da utilizzare, consulta la documentazione di Snowflake(Il collegamento viene aperto in una nuova finestra).

Nota: Tableau non utilizza un DSN per connettersi a Snowflake, pertanto puoi ignorare le istruzioni nella documentazione di Snowflake relative all’utilizzo di un DSN.

Se utilizzi una versione di Tableau precedente alla 2019.4, puoi configurare questa funzionalità immettendo i parametri in un file TDC utilizzando odbc-extras.

Ad esempio:

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

Per maggiori informazioni, consulta l’articolo Customize the Connection String for a Native Connector(Il collegamento viene aperto in una nuova finestra).

Risoluzione dei problemi

Prestazioni e dimensione di recupero

Per ottenere le migliori prestazioni, soprattutto per le estrazioni, Tableau deve determinare la dimensione di recupero ottimale. Esistono due metodi per rendere più efficiente questa operazione: l’impostazione di limiti per i campi a lunghezza variabile e l’abilitazione di buffer di recupero ridimensionabili. Per ottenere risultati ottimali devi utilizzare entrambi questi metodi.

Determinazione della dimensione di recupero corrente

La dimensione di recupero utilizzata è registrata nei log di tabprotosrv. Tabprotosrv è il processo sandbox dei driver. Ecco un esempio:

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

Nota: alcuni dei suggerimenti riportati di seguito richiedono file TDC, ma questi non funzioneranno su Tableau Cloud a meno che non si utilizzi Tableau Bridge. Con Tableau Bridge puoi installare il file TDC nell’host di Bridge per applicarlo a tutte le connessioni gestite tramite tale host.

Limiti di lunghezza dei campi variabili

Quando si utilizzano campi VARCHAR o VARBINARY illimitati, il driver restituirà una dimensione del campo pari a 16 M. Tableau utilizza pertanto una dimensione di recupero ridotta per rimanere entro i limiti di memoria, rallentando di conseguenza l’esecuzione delle query. Esistono diverse soluzioni per risolvere il problema:

  • Aggiungere un limite alla definizione della colonna nel database, ad esempio VARCHAR(256), oppure racchiudere la tabella in una vista che svolge la stessa funzione.
  • Utilizzare il campo "Dimensione VARCHAR predefinita (byte)" nella scheda Avanzato al momento della connessione a Snowflake in Tableau Desktop. In Tableau 2024.3 il nome del campo "Dimensione massima VARCHAR" è cambiato, ma la sua funzione è la stessa. Imposta il parametro default_varchar_size per il driver ODBC, che limiterà la dimensione del campo restituita a Tableau. Per maggiori informazioni, consulta https://docs.snowflake.com/en/developer-guide/odbc/odbc-parameters(Il collegamento viene aperto in una nuova finestra).
  • Utilizzare una personalizzazione del file TDC come quella illustrata di seguito:

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

Abilitare CAP_ODBC_FETCH_BUFFERS_RESIZABLE

A partire da Tableau 2024.3 questa personalizzazione è abilitata per impostazione predefinita. Prima di questa versione, è possibile utilizzare un file TDC. Anziché utilizzare il file TDC, se desideri configurare default_varchar_size nell’interfaccia utente o nel database, puoi utilizzare un file TDC come quello riportato di seguito.

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

Domande frequenti

Ecco alcuni problemi comuni, con la procedura per la relativa risoluzione.

Viene visualizzato un errore "Questo campo XXX non esiste". Come devo procedere?

Questo errore viene visualizzato quando si utilizza un campo calcolo, lo si aggiunge al foglio di lavoro e si sostituisce l’origine dati con i dati di Snowflake (CustomSQL).

Utilizza la funzione Sostituisci riferimenti campi per correggere l’errore. Per maggiori informazioni sulla sostituzione dei riferimenti ai campi, consulta Sostituire i riferimenti ai campi.

 

Vedi anche

Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!