Daniel Esser

Mit Data Factory hat Microsoft eine Komponente für Azure zur Verfügung gestellt mit der sich ETL-Prozesse in die Cloud verlagern lassen. Aber ist Azure Data Factory so etwas ähnliches wie SSIS aus dem SQL Server? Microsoft liefert folgende Definition:

Azure Data Factory is a managed service that you can use to produce trusted information from raw data in cloud or on-premises data sources. It allows developers to build data-driven workflows (pipelines) that join, aggregate and transform data sourced from their local, cloud-based and internet services, and set up complex data processing logic with little programming.

Möglichkeiten der Modellierung

Zunächst ist die Anzahl der verwendbaren Objekte in Azure Data Factory begrenzt. Es gibt Linked Services, Tables und Pipelines. Linked Services beschreiben eine Datenquellen (z.B. Azure Storage, Azure SQL Databases, On-Prem SQL Server Databases, HDInsight). Hier eine Beispieldefintion für einen Linked Services zu einen SQL Server On-Premise:

Tables sind analog zu Tabellen in einer relationalen Datenbank und beschreiben die Struktur und wie und wo die Daten abgelegt sind. In dieser Definition wird eine relational abgelegt Tabelle referenziert.

{

Eine Pipeline enspricht am ehesten einem Dataflow aus SSIS. Eine Pipeline besteht aus Activities. Activities wiederum können Daten ähnlich wie Data Flow Components in SSIS transformieren. Hier ein Beispiel:

getstarted-diagram-blade

Scripting

Das Datenformat für Data Factory ist JSON. JSON (JavaScript Object Format) ist ein kompaktes Datenformat in einer einfach lesbaren Textform. Hier ein Beispiel für eine Pipeline:

Um zur Laufzeit String-Properties setzen zu können werden weitere Funktionen benötigt. Konkret heißen diese Funktionen Data Factory Functions. Die Anzahl der Funktionen im jetzigen Bestand sind relativ überschaubar. Hier ein kleines Beispiel in dem zwei Data Factory Functions (Text.Format und Time.AddHours) verwendet werden um eine SQL-Abfrage zu erstellen.

Status der Implementierung

Stand Heute ist Azure Data Factory noch in der Erprobungsphase. Es gibt lediglich zwei Activities mit denen Daten kopiert werden können. Momentan gibt es auch keine integrierte Entwicklungsumgebung, daher müssen Pipelines mit einem Texteditor im JSON Format erstellt werden. Nichtsdestotrotz können bereits heute komplizierte Transformationen unter zur Hilfe nahme von Pig und Hive erstellen werden. Es bleibt abzuwarten wie sich das Produkt in seiner finalen Phase zeigen wird.