Azure Data Factory – Interaktive Data Flow Entwicklung

Nachdem ich in meinem letzten Beitrag auf die Funktionsweise von Integration Runtimes (IR) eingegangen bin, werde ich in diesem Beitrag auf ein paar nette Features der Data Factory eingehen. Diese Features machen die Entwicklung von Data Flows um einiges einfacher und benutzerfreundlicher als beispielsweise bei SQL Server Integration Services (SSIS).

Debug Integration Runtime

Um das Debugging von Data Flows einzuschalten, muss der Data Flow Debug Modus aktiviert werden. Da Data Flows von der ADF mithilfe von Apache Spark ausgeführt werden, wird ein aktives Spark Cluster benötigt, um die meisten Data Flow Debug-Features verwenden zu können.  

Um den Data Flow Debug zu aktivieren, muss der gleichnamige Switch in der Menüleiste eingeschaltet werden. In dem sich öffnenden Dialog muss nun die IR ausgewählt werden, welche für das Spark Cluster verwendet werden soll. Bis das Cluster hochgefahren und verwendet werden kann, dauert es dann ein paar Minuten – der perfekte Moment, sich einen Kaffee zu machen . 

Da für das Debug Cluster eine VM in Azure bereitgestellt wird, zahlt man hier auch für jede Minute, in der das Cluster aktiv ist. Die Kosten sind auch hier abhängig von der Art der IR un der Anzahl der Kerne und werden minutenweise abgerechnet. Das Debug Cluster wird nach einer Zeit automatisch heruntergefahren, wenn es über einen längeren Zeitraum nicht verwendet wurde um Kosten zu sparen.

 

Da für das Debug Cluster eine VM in Azure bereitgestellt wird, zahlt man hier auch für jede Minute, in der das Cluster aktiv istDie Kosten sind auch hier abhängig von der Art der IR und der Anzahl der Kerne und werden minutenweise abgerechnet. Das Debug Cluster wird nach einer Zeit automatisch heruntergefahren, wenn es über einen längeren Zeitraum nicht verwendet wurde, um Kosten zu sparen.

Data Preview

Was die Entwicklung von Data Flows um einiges erleichtert, ist das Data Preview Feature. Dieses Feature ermöglicht es, sich das Ergebnis jeder Transformation anhand eines Datenausschnittes anzeigen zu lassen: 

Bild_Data_Preview_ADF

Die ADF lädt dafür ein Sample der Daten aus der Datenquelle und lässt jegliche Transformation(en) bis zur gewünschten Transformation mithilfe des Debug Clusters ausführen. 

So lassen sich die Ergebnisse der einzelnen Transformationen schon während der Entwicklung begutachten. Zusätzlich dazu lassen sich zu einzelnen Spalten Statistiken anzeigen, sodass man einen ungefähren Eindruck von den Daten erhält, mit denen man arbeitet. 

Von der Data Preview aus lassen sich auch einfache Anpassungen vornehmen, wie das Entfernen von SpaltenTyp-Konvertierungen oder simple Operationen wie das Runden von Zahlen. Diese Anpassungen können dann von der Data Preview aus übernommen werden und die ADF erstellt für diese dann automatisch die entsprechenden Transformationen.

Expression Builder

Einer der Dinge, dank denen ich mir in SSIS schon einige Haare aus dem Kopf gerissen habe, war der schreckliche und in die Jahre gekommene Expression Builder, der beispielsweise bei abgeleiteten Spalten (Derived Columns) zum Einsatz kommt.  

Mit diesem ist der Expression Builder der ADF nicht mehr ansatzweise zu vergleichen: 

Expression_Builder_adf

Über eine ordentliche Suchfunktion lassen sich Expressions, verfügbare Spalten und Parameter schnell finden. Ebenso ist der Editor auf der rechten Seite mit IntelliSense und Syntax-Hervorhebung ausgestattet, wodurch man auch bei komplexeren Expressions nicht so schnell die Übersicht verliert. 

Das für mich beste Feature des Expression Builders ist jedoch die Möglichkeit, sich eine Vorschau seineExpressions anzeigen zu lassen. So kann man schon während der Entwicklung sehen, ob die erstellte Expression korrekt ist, oder ob die Daten, mit denen man arbeitet, vielleicht doch nicht so sauber sind, wie man es gerne hätte. 🙄 

Anmerkung: Für diese Data Preview wird ein aktives Debug Cluster benötigt. 

Datentyp Erkennung

Arbeitet man nicht mit Quellen, die vorgegebene Datentypen besitzen – wie beispielsweise CSV-Dateien, muss man häufig den Datentyp jeder Spalte explizit angeben oder jede Spalte, die kein String ist, in den gewünschten Datentyp transformieren.  

Die Data Factory erlaubt es den Datentyp solcher Quellen automatisch zu erkennen. Dafür wird das aktive Debug Cluster verwendet und ein Sample der Quelle eingelesen. Für simple Quellen wie CSV-Dateien kann der Detect data type Button verwendet werdenFür komplexere Dateitypen wie Apache Avro muss der Import projection Button verwendet werden, da das Schema für solche Daten nicht im Data Set selbst definiert ist, sondern eingebettet in der Datei. 

datentyp_erkennung_adf

Auf diese Weise lassen sich jedoch nicht immer alle Datentypen erkennen, was meistens dem Format der Daten geschuldet ist. Die Datentypen Date bzw. Time können oft nicht erkannt werden, da das Datumsformat nicht eindeutig identifiziert werden kann. Es ist jedoch auch möglich, den Datentyp jeder Spalte händisch über die entsprechenden Dropdown-Menüs zu ändern und das passende Format kann ebenfalls angegeben werden – z.B. das tolle amerikanische Datumsformat MM-ddyyyy 😐. 

Schlusswort

Die Data Factory bietet ein paar nette Features, welche einerseits die Data Flow Entwicklung vereinfachen und andererseits zu einer reduzierten Anzahl von Fehlern beitragen. Insbesondere das Data Preview Feature ist eines der größten Vorteile gegenüber von SSIS, da man seine Transformationen direkt einsehen kann und nicht erst das Paket triggern muss, um sich die Daten anschauen zu können. 

Teilen:

Share on xing
Share on email
Christopher Münch

Christopher Münch

Christopher Münch hat in seiner Ausbildung erfolgreich einen Bachelor in Informatik abgelegt. Zudem verfügt er über langjährige Erfahrung im Umgang mit dem .NET Framework, der Programmiersprache C# und den Business Intelligence Umgebungen rund um den Microsoft SQL Server.

Schreiben Sie einen Kommentar

Blog abonnieren:
Loading

Weitere Beiträge: