Insights / Blog

Due modi di Integrare Snowflake con Alteryx

integrare-snowflake-con-alteryx

Bentornati al nostro periodico appuntamento con Pillole di SnowFlake! In questo articolo andiamo ad analizzare come poter integrare Snowflake con Alteryx.

Dopo aver visto insieme gli ultimi aggiornamenti dello SnowDay e come utilizzare il Fail Safe, mostreremo come questa piattaforma può essere utilizzata per preparare i vostri dati e che sintassi usare per ottenere l’output desiderato. Questo post si concentrerà sui passaggi eseguiti per preparare i dati all’interno di Snowflake.

Prima di analizzare i due modi per integrare Snowflake con Alteryx, facciamo un passo indietro.

Snowflake è un moderno Data Warehouse progettato nativamente per sfruttare il Cloud. Come database colonnare, esegue rapidamente queries analitiche e fornisce la scalabilità necessaria per le organizzazioni più grandi rimanendo elastica anche per le altre fasce. Uno dei nostri consulenti di Information Lab lo ha utilizzato integrandolo con Alteryx e vuole condividere con la community come ha impostato la connessione per permettere ai due sistemi di lavorare in sinergia.

Pre Requisiti

Il miglior metodo per connettersi a Snowflake consiste nell’utilizzare una connessione In-Database (InDB). Questo perché con grandi volumi di dati ha senso spostare le tabelle il meno possibile.

Se segui i passaggi seguenti:

  1. Sarai in grado di connetterti a Snowflake localmente sulla tua macchina;
  2. Potrai creare flussi di lavoro in Alteryx Designer, che utilizzeranno le credenziali configurate nel file indbc;
  3. Potrai pubblicare il flusso di lavoro sulla Alteryx Gallery dove può essere programmato per l’esecuzione o condiviso con altri utenti che possono scaricare e/o eseguire il flusso di lavoro manualmente nella galleria.

Configurazione Iniziale

Per creare una connessione InDB dovrai completare due passaggi iniziali. Innanzitutto, assicurati di avere un account Snowflake e di disporre delle credenziali di accesso. Secondo, assicurati di avere i driver installati sul tuo computer. Il driver Snowflake può essere scaricato dal sito web di Snowflake qui. Se disponi di autorizzazioni elevate, puoi continuare e installare il driver, altrimenti dovrai chiedere al tuo team IT di installare il driver per te. Mentre il Driver di Alteryx puo essere trovato a questo link.

Use Case 1: Creare una Connessione In-Database per Lettura o Scrittura

Per leggere o scrivere utilizzando la connessione Alteryx In-DB dovrai utilizzare gli strumenti In-DB seguendo la procedura seguente. In Questo modo si creerà un file indbc che verrà utilizzato per connettersi e autenticarsi con Snowflake.

  1. In Alteryx vai su Opzioni > Opzioni avanzate > Gestisci connessioni In-DB
  2. Nella finestra che si apre (vedi immagine sotto) seleziona:
    1. Origine dati = SnowFlake
    2. Tipo di connessione = File
    3. File di connessione = puntare alla cartella in cui sono archiviati i file indbc, immettere il nuovo nome del file e aprire.
    4. Crittografia password = Nascondi.
    5. Leggi Driver = Snowflake ODBC (precedentemente scaricato)
    6. Stringa di connessione. incolla quanto segue:
    7. odbc:DRIVER={SnowflakeDSIIDriver};UID=<yourSFloginname>;PWD=<YourSFloginpassword>;DATABASE=;SERVER=<Yourserverandregion>.snowflakecomputing.com
    8. sostituire <yourSFlonginname>, <YourSFlogninpassword> e <Yourserverandregion> con i tuoi dati
    9. Se selezioni la scheda di scrittrura > Driver > Uguale al driver di lettura
  3. Seleziona Ok

Questa configurazione ti consentirà di leggere e scrivere nelle tabelle Snowflake senza spostare i dati.

Connettersi alle Tabelle In-DB

Una volta completata la configurazione iniziale spiegata sopra, aggiungi lo strumento Connect In-DB alla tela del tuo flusso di lavoro Alteryx. Seleziona Open File Connection e apri il file indbc che hai creato precedentemente. Ora vedrai tutti i database a cui hai il permesso di accedere in Snowflake. Una volta connesso alle tabelle richieste, puoi iniziare a costruire il tuo flusso di lavoro normalmente.

Scrivere una Tabella In-DB come Output

Una volta connesso al database desiderato e aggiunto le modifiche che necessitavi, se hai bisogno di fare un Write-back e pubblicare su Snowflake le tabelle prodotte segui questi ulteriori step:

  1. Aggiungi il Write Data In-DB all’area di disegno
  2. Modalità di output = Crea nuova tabella
  3. Immettere “Nome_Database”.”Nome_Schema”.”Nome_Tabella” es. “SNOWFLAKE_SAMPLE_DATA”.”TPCH_SF10000″.”NUOVA TABELLA”
  4. Esegui flusso di lavoro Infine, modifica la modalità di output in modo che corrisponda a ciò che desideri in futuro, ad esempio Sovrascrivi tabella. Altrimenti la scrittura verrà errata alla seconda esecuzione poiché la tabella esiste già

Use Case 2: Connessione Standard – Bulk Loader usando una Connessione ODBC

Alternativamente, se disponi di risorse locali che devi caricarle su Snowflake È possibile utilizzare un caricamento ODBC standard tramite Bulk

Per fare una bulk avrai bisogno di:

  • Un bucket S3 (preferibilmente nella stessa regione dell’istanza di Snowflake)
  • Una chiave di accesso AWS
  • Una chiave segreta AWS
  • Il driver Snowflake installato (quello già citato)

Configurare la Connessione DNS per l’ODBC

La connessione DNS ODBC deve avere lo stesso nome del server per funzionare correttamente. Verificare con il proprio team IT per confermare se esiste una connessione sul server e qual è il nome di tale connessione.

  1. Apri origini dati ODBC (64 bit)
  2. Seleziona AGGIUNGI, in alto a destra, quindi scegli SnowflakeDSIIDriver e poi Fine.

Apparirà la seguente finestra. Popolare i campi

– Origine dati: immettere il nome esatto dell’origine dati che si trova su Alteryx Server.

– Utente: inserisci il nome utente del tuo account Snowflake

– Password: inserisci la tua password per il fiocco di neve.

– Server: inserisci yourserver.snowflakecomputing.com (assicurati di rimuovere https:// dall’inizio)

– Database: lasciare vuoto

– Schema: lasciare vuoto

– Warehouse: lasciare vuoto

– Tutti gli altri campi: Lasciare vuoto

Una volta configurato il DSN e sei pronto per pubblicare su Snowflake, segui i passaggi seguenti:

  1. Aggiungi uno strumento di output alla tela del flusso di lavoro
  2. Seleziona Origini dati > Snowflake > Bulk (è così che appare da Alteryx Designer 2019.2 in poi, è diverso nelle versioni precedenti)
  • Nome origine dati: scegli Snowflake ODBC DSN creato sopra
  • Nome utente: Inserisci il tuo nome utente Snowflake
  • Password: Inserisci la tua password Snowflake.
  • Chiave di accesso AWS. Inserisci la tua chiave di accesso AWS
  • Chiave segreta AWS Inserisci la tua chiave segreta AWS
  • Crittografia della chiave segreta: seleziona Nascondi
  • Endpoint: scegli Predefinito (Default). Se hai problemi con questo, scegli s3.amazonaws.com
  • Usa la firma V4 per l’autenticazione: seleziona questa opzione
  • Crittografia lato server: lascia “nessuna” (impostazione predefinita)
  • Nome del bucket: inserisci il tuo nome del bucket S3

ALTER WAREHOUSE “ENTER WAREHOUSE NAME HERE” RESUME IF SUSPENDED;

USE WAREHOUSE “ENTER WAREHOUSE NAME HERE”;

USE “ENTER DATABASE NAME HERE”.”ENTER SCHEME NAME HERE”;

Nel popup successivo inserisci il nome della tabella Snowflake che desideri creare. Nell’istruzione Pre Create SQL (sezione 6 dello strumento di output standard) incollare la sintassi seguente

modificare il set di sessioni client_timestamp_type_mapping=timestamp_ntz

(Se il warehouse è sospeso, il flusso di lavoro sarà errato. Questo SQL avvierà il warehouse se è sospeso)

Esegui il flusso di lavoro.

Se hai seguito personalmente questo processo, sia per Snowflake che per qualsiasi altro database, ci piacerebbe sapere come l’hai raggiunto e quali passi sono stati necessari per te.

Per ulteriori domande su Snowflake vi invitiamo a contattarci all’indirizzo: info@theinformationlab.it

Speriamo che questo articolo vi abbia incuriosito e che sia stato utile per imparare a integrare Snowflake con Alteryx.

Vi diamo appuntamento alla settimana prossima! ❄️

Stay Tuned

Pharma
Predictive analytics healthcare

Predictive analytics healthcare: come l’AI rivoluziona la medicina

Il mondo dell’healthcare è storicamente legato ai dati. Gli esami, le diagnosi, i successi degli...

Blog
tableau pulse

Tableau Pulse: La GeneAI sbarca su Tableau

Tableau Pulse, introdotto da Salesforce come parte della suite Tableau AI, sfrutta l’intelligenza artificiale generativa...