Come mettere Azure Data Factory (ADF ) Connettore Snowflake da utilizzare

(Mohini Kalamkar) (3 dicembre 2020)

Le aziende hanno i propri dati archiviati in varie posizioni, dai database interni alle piattaforme SaaS. Per ottenere informazioni dettagliate su questi dati, devi estrarre e caricare i dati da varie origini in un data warehouse o un data lake. Per connettere o costruire quelle che a volte possono essere pipeline di dati ETL / ELT piuttosto complesse, le aziende preferiscono utilizzare strumenti moderni come Matillion, Azure Data Factory, Fivetran, Talend Stitch e molti altri. A seconda dellarchitettura e dei requisiti dei dati, potresti scegliere uno o più strumenti ETL / ELT per il tuo caso duso.

Di recente, ho avuto lopportunità di esplorare entrambi i Matillion e Azure Data Factory (ADF) per caricare i dati su Snowflakes Data Cloud . La maggior parte di questo post sarà incentrata sulla mia esperienza con ADF, ma toccherò brevemente anche Matillion.

Prima di entrare nella discussione sugli strumenti di integrazione dei dati, se stai considerando una piattaforma dati cloud in uno dei 3 principali cloud pubblici, consiglierei di dare unocchiata a Snowflake. Snowflake continua a stupire con un servizio efficace e conveniente che controlla tutte le caselle chiave per il nostro team di Hashmap, ed è una prima soluzione SQL con cui puoi essere subito operativo.

Pensieri rapidi su Matillion

Ho scoperto che Matillion ha un ulteriore livello di maturità rispetto ad ADF per quanto riguarda lintegrazione di sorgenti con Snowflake. In particolare:

  • Ottima interfaccia utente
  • Alter Warehouse per aumentare e diminuire la scala lavoro per lavoro
  • Crea componente formato file (crea un formato di file con nome che può essere utilizzato per il caricamento di massa dei dati e lo scaricamento dei dati dalle tabelle Snowflake)

Il team di Microsoft ADF sta ancora lavorando per aggiungere alcune di queste funzionalità al connettore ADF per Snowflake.

Il connettore ADF Snowflake

Passiamo al connettore ADF Snowflake . Tratterò diversi argomenti come elencato di seguito:

  1. Utilizzo del connettore Snowflake ADF – Implementazione di SCD tipo 1 .
  2. Funzionalità del connettore ADF Snowflake.
  3. Limitazioni del connettore ADF Snowflake (al momento della stesura di questo documento).

Azure Data Factory (ADF) è il servizio cloud di Azure che consente di creare flussi di lavoro basati sui dati per orchestrare e automatizzare lo spostamento e la trasformazione dei dati.

ADF dispone di una gamma di connettori integrati che consentono lintegrazione con varie origini dati e destinazioni e nel giugno 2020 il team di ingegneri di Microsoft ADF ha aggiunto il supporto per Snowflake come archivio dati di destinazione.

Una breve nota che ho avuto anche la necessità di integrare e connettere le funzioni di Azure con Snowflake, ma salverò la discussione per un altro post.

Per iniziare a esplorare il connettore ADF Snowflake, vediamo come è possibile implementare SCD di tipo 1 con il connettore ADF!

Guida introduttiva

Per questo imp vengono utilizzati i seguenti servizi di Azure: archiviazione BLOB di Azure, Azure Data Factory (servizi collegati, set di dati e flussi di dati).

Prerequisito:

  • Servizi collegati ADF per BLOB di Azure spazio di archiviazione e viene creato il tuo account Snowflake.
  • Viene creata una tabella Planes in Snowflake con lo schema seguente:
CREATE TABLE Planes (
ICAO nvarchar(200),
IATA nvarchar(200),
MAKER nvarchar(200),
DESCRIPTION nvarchar(200)
);
  1. Innanzitutto, carichiamo un file CSV nel BLOB di Azure.
File CSV
File CSV

2. In ADF, crea un set di dati (di origine) per il file BLOB.

Set di dati per il blob
Set di dati per file blob

3. Crea un set di dati (sink) per Snowflake.

Set di dati per Snowflake

4. Ora, creiamo un flusso di dati ADF con 3 componenti. Source, AlterRow e Sink.

Come mostrato di seguito, seleziona il set di dati di origine creato nel passaggio 1.

Impostazione dellorigine del flusso di dati

5. Limpostazione dellorigine del flusso di dati continua:

Impostazione dellorigine del flusso di dati

6. Ora vediamo in anteprima i dati della sorgente.

Lo screenshot seguente mostra lanteprima dei dati per la sorgente.

Anteprima dei dati di origine del flusso di dati

7. Ora, dopo che la sorgente è pronta, aggiungiamo Modifica trasformazione.Alter transformation consente inserimenti / aggiornamenti / upsert ed elimina i record in base a determinate condizioni.

Ho specificato la condizione per Upsert.

Flusso di dati AlterRow

8. Impostazione Dataflow Sink.

Come mostrato di seguito, seleziona il servizio collegato creato per Snowflake.

Sink flusso di dati

9. Impostazione del sink del flusso di dati.

Seleziona lo schema Snowflake, il nome della tabella e il metodo di aggiornamento.

Seleziona la chiave primaria della tabella Snowflake in “Colonne chiave”. In base alle “Colonne chiave” i record verranno inseriti / inseriti in upsert / eliminati / aggiornati nella tabella sink.

È buona norma controllare “Anteprima dati” prima di passare allattività successiva in Dataflow.

Sink flusso dati

10. Importa il flusso di dati in Pipeline e fai clic su debug.

Importa flusso di dati nella pipeline

11. Ora, verifichiamo le tabelle Planes in Snowflake.

Tutti i record vengono inseriti nella tabella Snowflake.

Tabella Snowflake – Piani

12. Quindi, aggiorniamo il file CSV.

Aggiornato A318 e inserito B713.

File CSV aggiornato

13. Eseguire il debug della pipeline e controllare la tabella Planes in Snowflake.

Come lo screenshot qui sotto mostra, hai un record aggiornato per A318.

Record aggiornato nella tabella Planes

14. Il nuovo record B713 viene inserito nella tabella Planes.

Tabella dei piani – nuovo record inserito dalla tabella CSV

Come mostrato nei passaggi 13 e 14, sono disponibili record aggiornati e nuovi nella tabella Snowflake.

Quindi, senza scrivere alcun codice, è abbastanza facile e diretto ottenere SCD di tipo 1 utilizzando il connettore ADF Snowflake.

Funzionalità del connettore ADF Snowflake

Quando si implementa ADF Connecto r per Snowflake sappi che avrai supporto per i seguenti tipi di attività:

Per maggiori dettagli, fare riferimento a questo documento – https://docs.microsoft.com/en-us/azure/data-factory/connector-snowflake

Quindi, il connettore ha alcune buone capacità, tuttavia ci sono anche alcune limitazioni di cui essere consapevoli. Diamo unocchiata a questo.

Limitazioni del connettore Snowflake ADF

  1. Durante la creazione di un servizio collegato per laccount Snowflake, lintegrazione SSO (browser esterno dellautenticatore) non è ancora supportata.
  2. ADF Snowflake Connector non supporta lesecuzione di una stored procedure Snowflake. Tuttavia, unalternativa o una soluzione alternativa a questo problema è la chiamata a stored procedure tramite Funzioni di Azure.
  3. Prima di caricare i dati deve essere disponibile una tabella Snowflake.
  4. La copia diretta da / a Snowflake è supportata solo per i seguenti formati: Parquet, testo delimitato e JSON (la tabella Snowflake o il risultato della query ha solo una singola colonna e il tipo di dati di questa colonna è VARIANT, OBJECT o ARRAY). Quando il formato o larchivio dati di origine / sink non è compatibile in modo nativo con il comando Snowflake COPY, è necessario abilitare la copia temporanea incorporata utilizzando unistanza di archiviazione BLOB di Azure temporanea che aggiunge un costo aggiuntivo alla fatturazione di Azure.

Considerazioni finali

ADF Snowflake Connector sta facendo passi da gigante nel semplificare la connessione degli strumenti Microsoft nativi a Snowflake e nellimplementazione di SCD di tipo 1. Come con ogni strumento di integrazione dati, è si consiglia sempre di progettare, progettare e distribuire un approccio alla soluzione finale basato sui casi duso, pattern, SLA, skillset e requisiti di consumo dei dati dettati dalla propria situazione individuale.

Pronto per accelerare il tuo Trasformazione digitale?

In Hashmap, lavoriamo con i nostri clienti per costruire insieme meglio.

Se stai pensando di spostare dati e prodotti di analisi e applicazioni nel cloud o se lo desideri aiuto e guida e alcune best practice per fornire risultati di valore più elevato nel tuo esistente programma cloud, quindi contattaci.

Hashmap offre una gamma di workshop di abilitazione e servizi di valutazione, servizi di migrazione e modernizzazione del cloud e pacchetti di servizi di consulenza come parte del nostro Cloud ( e Snowflake ). Saremo lieti di esaminare le tue esigenze specifiche.

Altri strumenti e contenuti che potrebbero piacerti

Snowflake Utilities & Acceleratori | Fai di più con Snowflake | Hashmap

Prova tutte le utilità Snowflake che Hashmap ha a disposizione e fai di più con Snowflake: Snowflake Inspector …

www.hashmapinc.com

(

Potenzia il tuo rendiconto di fatturazione Snowflake con le metriche utente

Un semplice trucco può essere la chiave per comprendere la tua spesa di calcolo Snowflake

medium.com

)

Hashmap Megabyte | Bite-Size Video Series

Hashmap Megabytes è una serie di video settimanali in cui le idee di mega cloud sono spiegate in porzioni di dimensioni ridotte.

www.hashmapinc.com

(

5 passaggi per convertire i lavori Python in PySpark

Passaggio da Panda a PySpark utilizzando Apache Arrow o Koala

medium.com

)

Sentiti libero di condividere su altri canali e assicurati di tenerti aggiornato su tutti i nuovi contenuti di Hashmap qui . Per ascoltare una conversazione casuale su tutto ciò che riguarda lingegneria dei dati e il cloud, dai unocchiata al podcast di Hashmap Hashmap al tocco anche su Spotify, Apple, Google e altre popolari app di streaming.

Hashmap su Tap | Hashmap Podcast

Un cast a rotazione di host Hashmap e ospiti speciali esplorano diverse tecnologie da diverse prospettive mentre si godono un drink a scelta.

www.hashmapinc.com

Mohini Kalamkar è un consulente di cloud e ingegneria dei dati con Hashmap fornitura di soluzioni dati, cloud, IoT e AI / ML e consulenza in diversi settori con un gruppo di tecnologi innovativi ed esperti di dominio che accelerano i risultati di business di alto valore per i nostri clienti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *