So setzen Sie die Azure Data Factory (ADF) ) Zu verwendender Schneeflockenverbinder

(Mohini Kalamkar) (3. Dezember 2020)

Unternehmen haben ihre Daten an verschiedenen Orten gespeichert, von internen Datenbanken bis zu SaaS-Plattformen. Um Einblicke in diese Daten zu erhalten, extrahieren Sie die Daten aus verschiedenen Quellen und laden sie in ein Data Warehouse oder einen Data Lake. Unternehmen bevorzugen moderne Tools wie Matillion, Azure Data Factory, Fivetran, Talend Stitch und viele mehr, um manchmal recht komplexe ETL / ELT-Datenpipelines zu verbinden oder aufzubauen. Abhängig von Ihrer Architektur und Ihren Datenanforderungen können Sie ein oder mehrere ETL / ELT-Tools für Ihren Anwendungsfall auswählen.

Vor kurzem hatte ich die Möglichkeit, beide Matillion und Azure Data Factory (ADF) zum Laden von Daten in Data Cloud von Snowflake . Der größte Teil dieses Beitrags konzentriert sich auf meine Erfahrungen mit ADF, aber ich werde auch kurz auf Matillion eingehen.

Bevor wir uns mit der Diskussion über Datenintegrationstools befassen, sollten Sie eine Cloud-Datenplattform in Betracht ziehen In jeder der drei großen öffentlichen Wolken würde ich empfehlen, sich Snowflake anzuschauen. Snowflake beeindruckt weiterhin mit einem effektiven und kostengünstigen Service, der alle Schlüsselfelder für unser Team bei Hashmap überprüft. Es ist eine erste SQL-Lösung, mit der Sie sehr schnell einsatzbereit sind.

Schnelle Gedanken Bei Matillion

stellte ich fest, dass Matillion im Vergleich zu ADF einen zusätzlichen Reifegrad in Bezug auf die Integration von Quellen in Snowflake aufweist. Insbesondere:

  • Großartige Benutzeroberfläche
  • Ändern Sie das Warehouse, um es Job für Job zu vergrößern und zu verkleinern.
  • Erstellen Sie eine Dateiformatkomponente (erstellt Ein benanntes Dateiformat, das zum Massenladen von Daten in Snowflake-Tabellen und zum Entladen von Daten aus Snowflake-Tabellen verwendet werden kann.

Das Microsoft ADF-Team arbeitet noch daran, einige dieser Funktionen zum ADF-Connector für hinzuzufügen Schneeflocke.

Der ADF-Schneeflocken-Anschluss

Lassen Sie uns in den ADF-Schneeflocken-Anschluss springen. Ich werde verschiedene Themen behandeln, wie unten aufgeführt:

  1. Verwenden des ADF-Schneeflocken-Connectors – Implementierung von SCD Typ 1 .
  2. Funktionen des ADF-Snowflake-Connectors.
  3. Einschränkungen des ADF-Snowflake-Connectors (Stand:)

Azure Data Factory (ADF) ist der Cloud-Dienst von Azure, mit dem Sie datengesteuerte Workflows zum Orchestrieren und Automatisieren der Datenverschiebung und Datentransformation erstellen können.

ADF verfügt über eine Reihe integrierter Konnektoren Dies ermöglicht die Integration in verschiedene Datenquellen und Ziele. Im Juni 2020 fügte das Microsoft ADF-Entwicklungsteam die Unterstützung für Snowflake als Zieldatenspeicher hinzu.

Ein kurzer Hinweis, den ich ebenfalls integrieren musste und verbinden Sie Azure-Funktionen mit Snowflake, aber ich werde diese Diskussion für einen anderen Beitrag speichern.

Um den ADF-Snowflake-Connector zu erkunden, sehen wir uns an, wie SCD Typ 1 mit ADF-Connector implementiert werden kann!

Erste Schritte

Für diesen Wichtel Bei der Implementierung werden die folgenden Azure-Dienste verwendet: Azure Blob-Speicher, Azure Data Factory (verknüpfte Dienste, Datensätze und Datenflüsse).

Voraussetzung:

  • ADF-verknüpfte Dienste für Azure Blob Speicher und Ihr Snowflake-Konto werden erstellt.
  • In Snowflake wird eine Planes-Tabelle mit dem folgenden Schema erstellt:
CREATE TABLE Planes (
ICAO nvarchar(200),
IATA nvarchar(200),
MAKER nvarchar(200),
DESCRIPTION nvarchar(200)
);
  1. Laden Sie zunächst eine CSV-Datei in den Azure-Blob hoch.
CSV-Datei
CSV-Datei

2. Erstellen Sie in ADF ein (Quell-) Dataset für die Blob-Datei.

Datensatz für Blob
Datensatz für Blob-Datei

3. Erstellen Sie einen (Senken-) Datensatz für Snowflake.

Datensatz für Snowflake

4. Jetzt erstellen wir einen ADF-Datenfluss mit 3 Komponenten. Source, AlterRow und Sink.

Wählen Sie wie unten gezeigt den in Schritt 1 erstellten Quelldatensatz aus.

Einstellung der Datenflussquelle

5. Die Einstellung der Datenflussquelle wurde fortgesetzt:

Einstellung der Datenflussquelle

6. Lassen Sie uns nun eine Vorschau der Quelldaten anzeigen.

Der folgende Screenshot zeigt die Datenvorschau für die Quelle.

Vorschau der Datenflussquelldaten

7. Nachdem die Quelle fertig ist, fügen wir die Alter-Transformation hinzu.Die Transformation ändern ermöglicht Einfügungen / Aktualisierungen / Aufwärtsbewegungen und löscht Datensätze gemäß den angegebenen Bedingungen.

Ich habe die Bedingung für Upsert angegeben.

Datenfluss AlterRow

8. Datenflusssenkeneinstellung.

Wählen Sie wie unten gezeigt den für Snowflake erstellten verknüpften Dienst aus.

Datenflusssenke

9. Einstellung der Datenflusssenke.

Wählen Sie das Schneeflockenschema, den Tabellennamen und die Aktualisierungsmethode aus.

Wählen Sie den Primärschlüssel der Schneeflockentabelle unter „Schlüsselspalten“ aus. Basierend auf Schlüsselspalten werden Datensätze in die Senkentabelle eingefügt / aktualisiert / gelöscht / aktualisiert.

Es wird empfohlen, die Datenvorschau zu überprüfen, bevor Sie mit der nächsten Aufgabe in Dataflow fortfahren.

Datenflusssenke

10. Importieren Sie den Datenfluss in die Pipeline und klicken Sie auf Debug.

Importieren Sie den Datenfluss in die Pipeline

11. Überprüfen Sie nun die Ebenentabellen in Snowflake.

Alle Datensätze werden in die Snowflake-Tabelle eingefügt.

Schneeflockentabelle – Flugzeuge

12. Als nächstes aktualisieren wir die CSV-Datei.

A318 aktualisiert und B713 eingefügt.

Aktualisierte CSV-Datei

13. Debuggen Sie die Pipeline und überprüfen Sie die Planes-Tabelle in Snowflake.

Wie im folgenden Screenshot dargestellt zeigt, dass Sie einen aktualisierten Datensatz für A318 haben.

Aktualisierter Datensatz in der Planes-Tabelle

14. Der neue Datensatz B713 wird in die Planes-Tabelle eingefügt.

Ebenentabelle – neuer Datensatz aus CSV-Tabelle eingefügt

Wie in den Schritten 13 und 14 gezeigt, sind aktualisierte und neue Datensätze verfügbar in der Snowflake-Tabelle.

Ohne Code zu schreiben, ist es also ziemlich einfach und unkompliziert, SCD Typ 1 mithilfe des ADF-Snowflake-Anschlusses zu erreichen.

Funktionen des ADF-Schneeflocken-Anschlusses

Bei der Implementierung des ADF Connecto r für Snowflake wissen, dass Sie die folgenden Arten von Aktivitäten unterstützen:

Weitere Informationen finden Sie in diesem Dokument – https://docs.microsoft.com/en-us/azure/data-factory/connector-snowflake

Der Connector verfügt also über einige gute Funktionen. Es sind jedoch auch einige Einschränkungen zu beachten. Schauen wir uns das an.

Einschränkungen des ADF-Snowflake-Connectors

  1. Beim Erstellen eines verknüpften Dienstes für das Snowflake-Konto wird die SSO-Integration (externer Authentifizierungsbrowser) noch nicht unterstützt.
  2. ADF Snowflake Connector unterstützt die Ausführung einer gespeicherten Snowflake-Prozedur nicht. Eine Alternative oder Problemumgehung besteht darin, gespeicherte Prozeduren mithilfe von Azure-Funktionen aufzurufen.
  3. Vor dem Laden der Daten muss eine Snowflake-Tabelle verfügbar sein.
  4. Eine direkte Kopie von / nach Snowflake wird nur unterstützt für die folgenden Formate: Parkett, abgegrenzter Text und JSON (Schneeflockentabelle oder Abfrageergebnis hat nur eine einzige Spalte und der Datentyp dieser Spalte ist VARIANT, OBJECT oder ARRAY). Wenn Ihr Quell- / Senken-Datenspeicher oder -Format nicht nativ mit dem Befehl Snowflake COPY kompatibel ist, müssen Sie die integrierte bereitgestellte Kopie mithilfe einer vorläufigen Azure Blob-Speicherinstanz aktivieren, wodurch zusätzliche Kosten für die Azure-Abrechnung entstehen.

Abschließende Gedanken

Der ADF Snowflake Connector erleichtert die Verbindung nativer Microsoft-Tools mit Snowflake und die Implementierung von SCD Typ 1. Wie bei jedem Datenintegrationstool ist dies der Fall Es wird immer empfohlen, einen endgültigen Lösungsansatz zu entwerfen, zu entwerfen und bereitzustellen, der auf den Anwendungsfällen, Mustern, SLAs, Skillsets und Datenverbrauchsanforderungen basiert, die Ihre individuelle Situation vorschreibt.

Bereit, Ihre zu beschleunigen Digitale Transformation?

Bei Hashmap arbeiten wir mit unseren Kunden zusammen, um gemeinsam bessere Ergebnisse zu erzielen.

Wenn Sie erwägen, Daten- und Analyseprodukte und -anwendungen in die Cloud zu verschieben, oder wenn Sie möchten Hilfe und Anleitung sowie einige bewährte Methoden zur Erzielung höherwertiger Ergebnisse in Ihrem bestehenden Umfeld Cloud-Programm, dann kontaktieren Sie uns bitte.

Hashmap bietet eine Reihe von Aktivierungsworkshops und Bewertungsservices, Cloud-Modernisierungs- und Migrationsservices sowie Beratungsservicepakete als Teil unserer Cloud ( und Snowflake ) Serviceangebote. Gerne bearbeiten wir Ihre spezifischen Anforderungen.

Weitere Tools und Inhalte, die Ihnen gefallen könnten

Snowflake Utilities & Beschleuniger | Mach mehr mit Schneeflocke | Hashmap

Probieren Sie alle verfügbaren Snowflake-Dienstprogramme aus und machen Sie mehr mit Snowflake: Snowflake Inspector…

www.hashmapinc.com

( Laden Sie Ihre Schneeflocken-Abrechnungsaufstellung mit Benutzermetriken auf

Ein einfacher Trick kann der Schlüssel zum Verständnis Ihrer Ausgaben für Schneeflocken-Berechnungen sein.

medium.com

)

Hashmap Megabyte | Bissgroße Videoserie

Hashmap Megabyte ist eine wöchentliche Videoserie, in der Mega-Cloud-Ideen in mundgerechten Abschnitten erklärt werden.

www.hashmapinc.com

(

5 Schritte zum Konvertieren von Python-Jobs in PySpark

Wechseln von Pandas zu PySpark mit Apache Arrow oder Koalas

medium.com

)

Sie können gerne auf anderen Kanälen teilen und alle neuen Inhalte von Hashmap hier . Schauen Sie sich den Podcast von Hashmap an, Hashmap beim Tippen auch bei Spotify, Apple, Google und anderen beliebten Streaming-Apps.

Hashmap on Tap | Hashmap-Podcast

Eine wechselnde Besetzung von Hashmap-Hosts und besonderen Gästen erkundet verschiedene Technologien aus verschiedenen Perspektiven, während sie ein Getränk ihrer Wahl genießen.

www.hashmapinc.com

Mohini Kalamkar ist Cloud- und Data Engineering-Berater bei Hashmap Bereitstellung von Daten-, Cloud-, IoT- und AI / ML-Lösungen sowie branchenübergreifendem Beratungs-Know-how mit einer Gruppe innovativer Technologen und Domain-Experten, die unseren Kunden hochwertige Geschäftsergebnisse ermöglichen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.