Modernes ETL aus verschiedenen Datenquellen StreamSets Transformer – Apache Spark, Machine Learning und ETL-Pipelines

Von Thomas Joos

Anbieter zum Thema

Mit StreamSets Transformer kann modernes ETL auch mit Apache Spark zum Einsatz kommen. Sinnvolles Einsatzgebiet ist zum Beispiel das Trainieren von ML-Modellen oder das Sammeln von Daten aus verschiedenen Cloud-Plattformen.

StreamSets Transformer hat den Vorteil, dass Anwender zunächst nichts programmieren müssen, sondern die Verbindungen und Konfigurationen in einer Weboberfläche konfigurieren können.
StreamSets Transformer hat den Vorteil, dass Anwender zunächst nichts programmieren müssen, sondern die Verbindungen und Konfigurationen in einer Weboberfläche konfigurieren können.
(Bild: T. Joos )

Tools wie Hadoop und Spark können riesige Datenmengen in kürzester Zeit verarbeiten. Die Herausforderung besteht darin, diesen Big Data Tools auch Daten in der Geschwindigkeit und Menge zur Verfügung zu stellen, sodass eine effektive Verarbeitung möglich ist. StreamSets Transformer ermöglicht es, verschiedene Datenquellen, zum Beispiel rund um das maschinelle Lernen, zu integrieren und zu automatisieren. Dadurch können Datenpipelines erstellt werden, mit denen sich aus verschiedenen Quellen riesige Datenmengen verarbeiten lassen.

Zusammen mit Apache Spark ist es dadurch möglich, Trainingsdatensätze zu kombinieren, zu verbinden und auch anzureichern. Die Datenvorbereitung kann dadurch komplett automatisiert werden. Parallel dazu kann auch Scala und PySpark-Code als Teil der Datenpipeline zum Einsatz kommen. StreamSets Transformer steht unter einer Apache-2.0-Lizenz zur Verfügung.

Der Vorteil der Umgebung ist, dass Anwender zunächst nichts programmieren müssen, sondern die Verbindungen und Konfigurationen, die für StreamSets Transformer notwendig sind, in der Weboberfläche konfigurieren können. Diese bietet auch Drag-&-drop. In der Oberfläche können darüber hinaus auch mehrere Pipelines und Verbindungen parallel zum Einsatz kommen. Der Anbieter stellt auch eine kostenlose Version zur Verfügung.

Mit StreamSets Transformer können auch mehrere Pipelines parallel zum Einsatz kommen. Die Konfiguration erfolgt im webbasierten Dashboard.
Mit StreamSets Transformer können auch mehrere Pipelines parallel zum Einsatz kommen. Die Konfiguration erfolgt im webbasierten Dashboard.
(Bild: T. Joos )

Konnektoren zu AWS, Azure, GCP, Snowflakes, Databricks und auch SAP HANA

Wenn Daten auf verschiedene Quellen und Cloud-Plattformen verteilt sind, spielt die Konsolidierung und die Angleichung für Unternehmen eine wichtige Rolle. Diese Daten müssen dann wiederum auf Plattformen, auf denen sie verarbeitet werden sollen, leistungsstark zur Verfügung stehen. StreamSets Transformer hat als Datenpipeline-Engine die Aufgabe ETL-, ELT- und Data-Transformation-Pipelines zu erstellen. Diese können wiederum nativ mit Snowflake oder Apache Spark zum Einsatz kommen.

StreamSets unterstützt zahlreiche Quellen für den Aufbau einer Datenpipeline.
StreamSets unterstützt zahlreiche Quellen für den Aufbau einer Datenpipeline.
(Bild: T. Joos )

Um Daten zu streamen, sind Connectoren zur Quell-Plattform notwendig. Hier bietet StreamSets Transformer Verbindungen zu den wichtigsten Clouddiensten wie AWS, Azure, GCP, Databricks und auch Snowflakes. Streamsets bietet aber auch zahlreiche andere Konnektoren. Alle Optionen sind auf der Webseite des Projektes zu finden.

Zu den möglichen Verbindungen gehören auch Hive, Hadoop, MapR, Kafka, MongoDB, Oracle, MySQL, PostgreSQL, Salesforce, SAP HANA und Microsoft SQL Server. Sogar Windows-Ereignisanzeigen lassen sich auslesen und streamen. StreamSets unterstützt damit mehr als 40 Speicher- und Datenbankquellen sowie Kafka Streams und MapR Streams. Microsoft Azure SQL Data Lake und mehr als 30 andere Datenbanken, Speicher- und Streaming-Plattformen lassen sich über das Dashboard anbinden.

Pipelines lassen sich zu den verschiedenen Datenquellen in der grafischen Oberfläche mit Drag-&-drop zusammenbauen.
Pipelines lassen sich zu den verschiedenen Datenquellen in der grafischen Oberfläche mit Drag-&-drop zusammenbauen.
(Bild: T. Joos )

Komponenten von StreamSets Transformer verstehen

Basis von StreamSets Transformer sind „Environments“ und „Deployments“. Eine „Environment“ legt fest, wo die StreamSets-Engines eingesetzt werden sollen. Sie stellt die für den Betrieb der Engines die erforderlichen Ressourcen dar. Im Dashboard von Streamsets können dazu auch mehrere „Environments“ erstellt werden. Alle Aufgaben dazu lassen sich skripten oder in der grafischen Oberfläche konfigurieren.

Ein „Deployment“ ist eine Gruppe von identischen Engine-Instanzen, die in einer „Environment“ eingesetzt werden. Ein Deployment definiert den Typ, die Version und die Konfiguration der StreamSets-Engine, die verwendet werden soll. Auch hier ist es möglich mehrere Deployments in einer Environment zu betreiben und damit eine flexible Struktur aus einer Kombination von verschiedenen Environments und Deployments aufzubauen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Eine Data Collector Engine führt Daten-Ingestion-Pipelines aus, die datensatzbasierte Datentransformationen im Streaming-, CDC- oder Batch-Modus durchführen. Um eine Data Collector Engine einzurichten, ist ein Deployment in einer Environment notwendig.

Eine Transformer-Engine führt Datenverarbeitungspipelines auf Apache Spark aus, die mengenbasierte Transformationen wie Joins, Aggregate und Sortierungen für die gesamte Datenmenge durchführen. Um eine Transformer-Engine einzurichten ist ein Deployment in einer Environment notwendig.

Erste Schritte mit StreamSets Transformer auf der Cloud-Plattform

Auf der Webseite ist es auch möglich kostenlos über die Cloud mit der Plattform zu arbeiten. Dazu gibt es verschiedene Tutorials, mit denen sich die Möglichkeiten der Plattform mit Beispieldaten schnell und kostenlos testen lassen. Die Einrichtung dauert nur wenige Minuten und es sind keine lokalen Installationen notwendig.

In der Weboberfläche der Plattform kann StreamSets Transformers auch kostenlos genutzt werden.
In der Weboberfläche der Plattform kann StreamSets Transformers auch kostenlos genutzt werden.
(Bild: T. Joos )

Beim Einsatz der Cloud-Plattform besteht der Vorteil, dass sehr schnell eine kostenlose Version von StreamSets Transformer zur Verfügung steht. In der Oberfläche sind verschiedene Anleitungen, Hilfen und Dokumentationen zu finden, um eine erste Umgebung aufzubauen. Wer erweiterten Support und mehr Funktionen benötigt, kann auf die erweiterten Editionen Professional oder Enterprise wechseln.

Die Plattform besteht vor allem aus fünf Komponenten, die sich in der Weboberfläche anpassen lassen:

  • Control Hub ist das Dashboard zum Erstellen, Bereitstellen und Betreiben von Datenströmen.
  • Data Collector ist ein Open Source Tool für die Entwicklung von Streaming-Daten-Pipelines mit einer grafischen Benutzeroberfläche und einer Befehlszeilenschnittstelle.
  • Data Collector Edge ist ein Datenerfassungs- und Analysetool für IoT- und Cybersicherheits-Edge-Systeme, das über einen Agenten ausgeführt wird.
  • Data Protector erkennt und sichert Daten, während sie eine Pipeline durchlaufen, um die Einhaltung von GDPR/DSGVO, HIPAA und anderen Gesetzvorgaben zu unterstützen.
  • DataFlow Performance Manager fügt historische Vergleiche und Daten-SLAs für Verfügbarkeit, Genauigkeit und Sicherheit hinzu.

StreamSets wird mit mehr als 50 vorinstallierten Transformationsprozessoren geliefert, die der Benutzer per Drag-and-Drop auf einen grafischen Arbeitsbereich ziehen kann. Die Prozessoren können Daten aus verschiedenen Quellen anbinden, entfernen, konvertieren, parsen und aggregieren. Entwickler können ihre eigenen benutzerdefinierten Prozessoren in Java, Java Expression Language (EL), JavaScript, Jython, Groovy und Scala schreiben.

Fazit

Wer einen Datenstream aus verschiedenen Quellen zu Apache Spark oder Snowflake aufbauen will, erhält mit StreamSets Transformer eine ideale Plattform dazu, die auch noch leicht zu bedienen ist. Die kostenlose Version ist vor allem für Testzwecke interessant und bietet bereits alle Möglichkeiten, die StreamSets Transformer kennt. Es lohnt sich einen Blick auf die Plattform zu werfen, da sie faktisch ohne Aufwand in wenigen Minuten einsatzbereit ist.

(ID:48417313)