Sådan placeres Azure Data Factory (ADF) ) Snowflake-stik, der skal bruges

(Mohini Kalamkar) (3. dec 2020)

Virksomheder har deres data gemt forskellige steder, fra interne databaser til SaaS-platforme. For at få indsigt i disse data skal du udtrække og indlæse data fra forskellige kilder i et datalager eller en datasø. For at forbinde eller opbygge det, der undertiden kan være ret komplekse ETL / ELT-datarørledninger, foretrækker virksomheder at bruge moderne værktøjer som Matillion, Azure Data Factory, Fivetran, Talend Stitch og mange flere. Afhængigt af din arkitektur og datakrav kan du muligvis vælge et eller flere ETL / ELT-værktøjer til din brugssag.

For nylig havde jeg muligheden for at udforske begge Matillion og Azure Data Factory (ADF) for at indlæse data til Snowflakes Data Cloud . Det meste af dette indlæg vil være fokuseret på min erfaring med ADF, men jeg vil også kort røre ved Matillion.

Før vi går ind i diskussionen om dataintegrationsværktøj, hvis du overvejer en cloud-dataplatform i nogen af ​​de 3 store offentlige skyer, vil jeg anbefale at tjekke Snowflake. Snowflake imponerer fortsat med en effektiv og omkostningseffektiv service, der kontrollerer alle nøglebokse for vores team på Hashmap, og det er en SQL-første løsning, som du kan komme i gang med meget hurtigt.

Hurtige tanker på Matillion

Jeg fandt ud af, at Matillion har et ekstra modenhedsniveau sammenlignet med ADF med hensyn til at integrere kilder med Snowflake. Især:

  • Stor brugergrænseflade
  • Alter Warehouse for at skalere op og ned på job-for-job-basis
  • Opret filformatkomponent (opretter et navngivet filformat, der kan bruges til masseindlæsning af data i og aflæsning af data fra Snowflake-tabeller)

Microsoft ADF-teamet arbejder stadig på at tilføje nogle af disse funktioner til ADF-stikket til Snowflake.

ADF Snowflake Connector

Lad os hoppe ind i ADF Snowflake-stik . Jeg vil dække flere emner som angivet nedenfor:

  1. Brug af ADF Snowflake-stik – Implementering af SCD type 1 .
  2. ADF Snowflake-stikfunktioner.
  3. ADF Snowflake-stikbegrænsninger (i skrivende stund).

Azure Data Factory (ADF) er Azures skytjeneste, der giver dig mulighed for at oprette datadrevne arbejdsgange til orkestrering og automatisering af dataflytning og datatransformation.

ADF har en række indbyggede stik der muliggør integration med forskellige datakilder og mål, og i juni 2020 tilføjede Microsoft ADF-teknikerteam support til Snowflake som et måldatalager.

En hurtig bemærkning om, at jeg også har haft behov for at integrere og forbinde Azure-funktioner med Snowflake, men jeg gemmer denne diskussion til et andet indlæg.

For at begynde at udforske ADF Snowflake-stikket, lad os se, hvordan SCD type 1 kan implementeres med ADF-stik!

Kom godt i gang

Til denne imp lementation anvendes følgende Azure-tjenester: Azure Blob-opbevaring, Azure Data Factory (sammenkædede tjenester, datasæt og datastrømme).

Forudsætning:

  • ADF-tilknyttede tjenester til Azure blob lagring og din Snowflake-konto oprettes.
  • Der oprettes en plan i Snowflake med nedenstående skema:
CREATE TABLE Planes (
ICAO nvarchar(200),
IATA nvarchar(200),
MAKER nvarchar(200),
DESCRIPTION nvarchar(200)
);
  1. Lad os først uploade en CSV-fil til Azure-blob.
CSV-fil
CSV-fil

2. I ADF skal du oprette et (kilde) datasæt til blob-filen.

Datasæt til blob
Datasæt til blob-fil

3. Opret et (sink) datasæt til Snowflake.

Datasæt til Snowflake

4. Lad os nu oprette et ADF-dataforløb med 3 komponenter. Kilde, AlterRow og Sink.

Som vist nedenfor skal du vælge kildesættet, der blev oprettet i trin 1.

Indstilling af dataflowkilde

5. Indstilling af dataflowkilde fortsatte:

Dataflowkildens indstilling

6. Lad os nu forhåndsvise kildedata.

Skærmbilledet nedenfor viser dataeksemplet for kilde.

Eksempel på dataflowkildedata

7. Lad os nu tilføje Alter-transformation, når kilden er klar.Ændring af transformation tillader indsatser / opdateringer / upserts og sletter poster i henhold til givne betingelser.

Jeg har angivet betingelsen for Upsert.

Dataflow AlterRow

8. Indstilling af dataflowvask.

Som vist nedenfor skal du vælge den tilknyttede tjeneste oprettet til Snowflake.

Dataflow Sink

9. Dataflow-indstilling for sink.

Vælg Snowflake-skemaet, tabelnavnet og opdateringsmetoden.

Vælg den primære nøgle til Snowflake-tabellen i Nøglekolonner. Baseret på Nøglekolonner indsættes / opsættes / slettes / opdateres poster i sink-tabellen.

Det er god praksis at kontrollere Data Preview, før du går til næste opgave i Dataflow.

Dataflow-sink

10. Importer dataflow til rørledning, og klik på fejlretning.

Importer dataforløb til pipeline

11. Lad os nu kontrollere plan-tabeller i Snowflake.

Alle poster indsættes i Snowflake-tabellen.

Snowflake table – Planes

12. Lad os derefter opdatere CSV-filen.

Opdateret A318 og indsat B713.

Opdateret CSV-fil

13. Fejlfinding af rørledningen og tjek Planes-tabellen i Snowflake.

Som skærmbilledet nedenfor viser, du har en opdateret post til A318.

Opdateret post i planplanen

14. Ny post B713 indsættes i Planes-tabellen.

Plan-tabel – ny post indsat fra CSV-tabel

Som vist i trin 13 og 14 er opdaterede og nye poster tilgængelige i Snowflake-tabellen.

Så uden at skrive nogen kode er det ret nemt og ligetil at opnå SCD type 1 ved hjælp af ADF Snowflake-stikket.

ADF Snowflake Connector Capabilities

Ved implementering af ADF Connecto r for Snowflake ved, at du vil have support til følgende typer aktiviteter:

For flere detaljer henvises til dette dokument – https://docs.microsoft.com/en-us/azure/data-factory/connector-snowflake

Så, stikket har nogle gode muligheder, men der er også et par begrænsninger at være opmærksom på. Lad os se på det.

ADF Snowflake Connector Limitations

  1. Mens du opretter en sammenkædet tjeneste til Snowflake-kontoen, understøttes SSO-integration (ekstern autentiseringsbrowser) endnu ikke.
  2. ADF Snowflake Connector understøtter ikke udførelse af en Snowflake-lagret procedure. Et alternativ eller en løsning til dette er imidlertid at kalde lagrede procedurer ved hjælp af Azure-funktioner.
  3. En Snowflake-tabel skal være tilgængelig, før dataene indlæses.
  4. Direkte kopi fra / til Snowflake understøttes kun. for følgende formater: Parket, afgrænset tekst og JSON (Snowflake-tabel eller forespørgselsresultat har kun en enkelt kolonne, og datatypen for denne kolonne er VARIANT, OBJECT eller ARRAY). Når din datalager eller dit kilde / format ikke er kompatibelt med Snowflake COPY-kommandoen, skal du aktivere den indbyggede iscenesatte kopi ved hjælp af en midlertidig Azure Blob-lagringsforekomst, der tilføjer ekstra omkostninger til Azure-fakturering.

Afsluttende tanker

ADF Snowflake Connector gør fremskridt med at gøre det lettere at forbinde native Microsoft-værktøjer til Snowflake og implementere SCD type 1. Som med ethvert dataintegrationsværktøj er det altid anbefalet at designe, arkitekt og implementere en endelig løsningstilgang baseret på brugssituationen / -erne, mønstret / -erne, SLAerne, færdighederne og dataforbrugskravene, som din individuelle situation dikterer. Digital transformation?

Hos Hashmap arbejder vi sammen med vores kunder om at bygge bedre sammen.

Hvis du overvejer at flytte data- og analyseprodukter og applikationer til skyen, eller hvis du gerne vil have hjælp og vejledning og et par bedste praksis til at levere højere værdiresultater i din eksisterende cloud-program, så kontakt os venligst.

Hashmap tilbyder en række aktiveringsworkshops og evalueringstjenester, cloud-modernisering og migreringstjenester og konsulenttjenestepakker som en del af vores Cloud ( og Snowflake ) servicetilbud. Vi vil med glæde arbejde igennem dine specifikke krav.

Andre værktøjer og indhold, du måske kan lide

Snowflake Utilities & Acceleratorer | Gør mere med Snowflake | Hashmap

Prøv alle de Snowflake-værktøjer, som Hashmap har til rådighed, og gør mere med Snowflake: Snowflake Inspector…

www.hashmapinc.com

(

Supercharger din Snowflake-faktureringserklæring med brugermålinger

Et simpelt trick kan være nøglen til at forstå dit Snowflake-beregningsforbrug

medium.com

)

Hashmap Megabyte | Bite-Size Video Series

Hashmap Megabytes er en ugentlig videoserie, hvor mega cloud-ideer forklares i bitstørrelsesdele.

www.hashmapinc.com

(

5 trin til konvertering af Python-job til PySpark

Flytning fra Pandas til PySpark ved hjælp af Apache-pil eller Koalas

medium.com

)

Del gerne på andre kanaler og vær sikker og hold øje med alt nyt indhold fra Hashmap her . Hvis du vil lytte til en afslappet samtale om alle ting data engineering og skyen, skal du tjekke Hashmaps podcast Hashmap på tryk samt på Spotify, Apple, Google og andre populære streaming-apps.

Hashmap on Tap | Hashmap Podcast

En roterende rollebesætning af Hashmap-værter og specielle gæster udforsker forskellige teknologier fra forskellige perspektiver, mens de nyder en drink efter eget valg.

www.hashmapinc.com

Mohini Kalamkar er en sky- og datateknisk konsulent med Hashmap leverer data-, cloud-, IoT- og AI / ML-løsninger og rådgivningsexpertise på tværs af brancher med en gruppe innovative teknologer og domæneeksperter, der fremskynder forretningsværdier med høj værdi for vores kunder.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *