Hoe de Azure Data Factory (ADF) te plaatsen ) Te gebruiken Snowflake-connector

(Mohini Kalamkar) (3 december 2020)

Bedrijven hebben hun gegevens opgeslagen op verschillende locaties, van in-house databases tot SaaS-platforms. Om inzicht te krijgen in deze gegevens, moet u de gegevens uit verschillende bronnen extraheren en in een datawarehouse of datameer laden. Om te verbinden of te bouwen wat soms vrij complexe ETL / ELT-datapijplijnen kunnen zijn, gebruiken bedrijven liever moderne tools zoals Matillion, Azure Data Factory, Fivetran, Talend Stitch en nog veel meer. Afhankelijk van uw architectuur en gegevensvereisten, kunt u een of meerdere ETL / ELT-tools kiezen voor uw gebruik.

Onlangs kreeg ik de gelegenheid om beide Matillion en Azure Data Factory (ADF) om gegevens te laden naar Snowflakes Data Cloud . Het grootste deel van deze post zal gericht zijn op mijn ervaring met ADF, maar ik zal Matillion ook kort bespreken.

Voordat we ingaan op de discussie over tools voor gegevensintegratie, als je een clouddataplatform overweegt in een van de 3 grote openbare clouds, zou ik aanraden om Snowflake te bekijken. Snowflake blijft indruk maken met een impactvolle en kostenbesparende service die alle belangrijke vakjes voor ons team bij Hashmap controleert, en het is een eerste SQL-oplossing waarmee u zeer snel aan de slag kunt.

Quick Thoughts op Matillion

Ik ontdekte dat Matillion een extra volwassenheidsniveau heeft vergeleken met ADF met betrekking tot het integreren van bronnen met Snowflake. In het bijzonder:

  • Geweldige gebruikersinterface
  • Alter Warehouse om op en neer te schalen per taak
  • Maak een bestandsindelingscomponent (maakt een bestandsindeling met naam die kan worden gebruikt voor het bulksgewijs laden van gegevens in en het verwijderen van gegevens uit Snowflake-tabellen)

Het Microsoft ADF-team werkt nog steeds aan het toevoegen van enkele van deze functies aan de ADF-connector voor Snowflake.

De ADF Snowflake-connector

Laten we naar de ADF Snowflake-connector springen. Ik zal verschillende onderwerpen behandelen, zoals hieronder vermeld:

  1. Gebruik van de ADF Snowflake-connector – Implementatie van SCD type 1 .
  2. Mogelijkheden voor ADF Snowflake-connector.
  3. Beperkingen van ADF Snowflake-connector (op het moment van schrijven).

Azure Data Factory (ADF) is de cloudservice van Azure waarmee u datagestuurde workflows kunt maken voor het orkestreren en automatiseren van gegevensverplaatsing en gegevenstransformatie.

ADF heeft een reeks ingebouwde connectoren die integratie met verschillende gegevensbronnen en doelen mogelijk maken, en in juni 2020 voegde het Microsoft ADF-engineeringteam ondersteuning toe voor Snowflake als doelgegevensopslag.

Een korte opmerking dat ik ook de behoefte had om en Azure Functions verbinden met Snowflake, maar ik zal die discussie bewaren voor een ander bericht.

Laten we, om de ADF Snowflake-connector te verkennen, eens kijken hoe SCD type 1 kan worden geïmplementeerd met ADF-connector!

Aan de slag

Voor deze imp lementatie de volgende Azure-services worden gebruikt: Azure Blob-opslag, Azure Data Factory (gekoppelde services, gegevenssets en gegevensstromen).

Voorwaarde:

  • ADF-gekoppelde services voor Azure blob opslag en uw Snowflake-account worden gemaakt.
  • Er wordt een Planes-tabel gemaakt in Snowflake met het onderstaande schema:
CREATE TABLE Planes (
ICAO nvarchar(200),
IATA nvarchar(200),
MAKER nvarchar(200),
DESCRIPTION nvarchar(200)
);
  1. Laten we eerst een CSV-bestand uploaden naar Azure blob.
CSV-bestand
CSV-bestand

2. Maak in ADF een (bron) dataset voor het blob-bestand.

Dataset voor blob
Dataset voor blob-bestand

3. Maak een (sink) dataset voor Snowflake.

Dataset voor Snowflake

4. Laten we nu een ADF-gegevensstroom maken met drie componenten. Source, AlterRow en Sink.

Zoals hieronder wordt getoond, selecteert u de brondataset die in stap 1 is gemaakt.

Dataflow-broninstelling

5. Dataflow-broninstelling vervolg:

Dataflow-broninstelling

6. Laten we nu een voorbeeld van de brongegevens bekijken.

De onderstaande schermafbeelding toont het gegevensvoorbeeld voor de bron.

Voorbeeld van gegevensstroombron

7. Nu de bron gereed is, gaan we Alter-transformatie toevoegen.Alter-transformatie maakt inserts / updates / upserts mogelijk, en verwijdert records volgens de gegeven voorwaarden.

Ik heb de voorwaarde voor Upsert gespecificeerd.

Dataflow AlterRow

8. Dataflow Sink-instelling.

Zoals hieronder wordt weergegeven, selecteert u de gekoppelde service die is gemaakt voor Snowflake.

Dataflow Sink

9. Dataflow-sink-instelling.

Selecteer het Snowflake-schema, de tabelnaam en de updatemethode.

Selecteer de primaire sleutel van de Snowflake-tabel in ‘Key Columns’. Op basis van Key Columns worden records ingevoegd / geupdate / verwijderd / bijgewerkt in de sink-tabel.

Het is een goede gewoonte om Data Preview te controleren voordat u naar de volgende taak in Dataflow gaat.

Dataflow Sink

10. Importeer gegevensstroom naar Pipeline en klik op debug.

Importeer gegevensstroom naar pipeline

11. Laten we nu de Planes-tabellen in Snowflake verifiëren.

Alle records worden in de Snowflake-tabel ingevoegd.

Sneeuwvlokentabel – Planes

12. Laten we vervolgens het CSV-bestand updaten.

A318 bijgewerkt en B713 ingevoegd.

Bijgewerkt CSV-bestand

13. Debug de pijplijn en controleer de Planes-tabel in Snowflake.

Zoals de schermafbeelding hieronder shows, je hebt een bijgewerkt record voor A318.

Bijgewerkte record in tabel met vlakken

14. Nieuw record B713 is ingevoegd in de Planes-tabel.

Vlakstabel – nieuw record ingevoegd vanuit CSV-tabel

Zoals getoond in stap 13 en 14, zijn bijgewerkte en nieuwe records beschikbaar in de Snowflake-tabel.

Dus zonder code te schrijven, is het vrij eenvoudig en ongecompliceerd om SCD type 1 te bereiken met behulp van de ADF Snowflake-connector.

ADF Snowflake Connector-mogelijkheden

Bij het implementeren van de ADF Connecto r voor Snowflake weet dat u ondersteuning zult hebben voor de volgende soorten activiteiten:

Raadpleeg voor meer details dit document – https://docs.microsoft.com/en-us/azure/data-factory/connector-snowflake

Dus de connector heeft een aantal goede mogelijkheden, maar er zijn ook enkele beperkingen waar je op moet letten. Laten we daar eens naar kijken.

Beperkingen van ADF Snowflake Connector

  1. Bij het maken van een gekoppelde service voor het Snowflake-account wordt SSO-integratie (externe authenticatorbrowser) nog niet ondersteund.
  2. ADF Snowflake Connector biedt geen ondersteuning voor het uitvoeren van een opgeslagen Snowflake-procedure. Een alternatief of tijdelijke oplossing hiervoor is het aanroepen van opgeslagen procedures met behulp van Azure Functions.
  3. Er moet een Snowflake-tabel beschikbaar zijn voordat de gegevens worden geladen.
  4. Direct kopiëren van / naar Snowflake wordt alleen ondersteund voor de volgende indelingen: parket, tekst met scheidingstekens en JSON (Snowflake-tabel of queryresultaat heeft slechts één kolom en het gegevenstype van deze kolom is VARIANT, OBJECT of ARRAY). Wanneer uw source / sink-gegevensopslag of -indeling niet native compatibel is met de Snowflake COPY-opdracht, moet u de ingebouwde gefaseerde kopie inschakelen met behulp van een tijdelijke Azure Blob-opslaginstantie die extra kosten met zich meebrengt aan Azure-facturering.

Laatste gedachten

De ADF Snowflake Connector boekt vooruitgang om het gemakkelijker te maken om native Microsoft-tools aan Snowflake te koppelen en SCD type 1 te implementeren. Zoals met elk data-integratietool, is het altijd aanbevolen om een ​​definitieve oplossingsaanpak te ontwerpen, te ontwerpen en te implementeren op basis van de use case (s, patroon (en), SLAs, vaardigheidssets en datagebruiksvereisten die uw individuele situatie dicteert.

Klaar om uw Digitale transformatie?

Bij Hashmap werken we samen met onze klanten om samen beter te bouwen.

Als u overweegt om gegevens en analyseproducten en -applicaties naar de cloud te verplaatsen of als u dat wilt hulp en begeleiding en een paar best practices voor het leveren van betere resultaten in uw bestaande cloudprogramma, neem dan contact met ons op.

Hashmap biedt een reeks activeringsworkshops en beoordelingsservices, cloudmodernisering en migratieservices en consultingservicepakketten als onderdeel van onze Cloud ( en Snowflake ) serviceaanbiedingen. We werken graag aan uw specifieke vereisten door.

Andere tools en inhoud die u misschien leuk vindt

Snowflake Utilities & Accelerators | Doe meer met Snowflake | Hashmap

Probeer alle Snowflake-hulpprogrammas uit die Hashmap beschikbaar heeft en doe meer met Snowflake: Snowflake Inspector…

www.hashmapinc.com

(

Geef uw Snowflake-factuuroverzicht een boost met gebruikersstatistieken

Een eenvoudige truc kan de sleutel zijn om inzicht te krijgen in uw Snowflake-rekenuitgaven

medium.com

)

Hashmap megabytes | Bite-Size Video Series

Hashmap Megabytes is een wekelijkse videoserie waarin megawolk-ideeën in hapklare porties worden uitgelegd.

www.hashmapinc.com

(

5 stappen om Python-jobs naar PySpark te converteren

Verplaatsen van pandas naar PySpark met Apache Arrow of Koalas

medium.com

)

Deel gerust op andere kanalen en blijf op de hoogte van alle nieuwe inhoud van Hashmap hier . Om te luisteren naar een informeel gesprek over alles wat met data-engineering en de cloud te maken heeft, bekijk je de podcast van Hashmap Hashmap on Tap evenals op Spotify, Apple, Google en andere populaire streaming-apps.

Hashmap on Tap | Hashmap Podcast

Een wisselende cast van Hashmap-hosts en speciale gasten verkennen verschillende technologieën vanuit verschillende perspectieven terwijl ze genieten van een drankje naar keuze.

www.hashmapinc.com

Mohini Kalamkar is een Cloud en Data Engineering Consultant bij Hashmap het leveren van data-, cloud-, IoT- en AI / ML-oplossingen en adviesexpertise in verschillende branches met een groep innovatieve technologen en domeinexperts die hoogwaardige bedrijfsresultaten voor onze klanten versnellen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *