Im Test: Talend Enterprise Data Integration Big Data Edition Datenverarbeitung im ganz großen Stil

Autor / Redakteur: Dr. Götz Güttich / Elke Witmer-Goßner

„Talend Enterprise Data Integration“ ist eine leistungsfähige Lösung zum Einbinden Umwandeln, Bewegen und Synchronisieren von Daten. Dabei können die bearbeiteten Informationen nicht nur von einer Vielzahl beliebiger unterschiedlicher Quellsysteme kommen, sondern lassen sich auch an eine entsprechend große Menge von Zielsystemen verteilen.

Datenintegration garantiert den kontinuierlichen Informationsfluss innerhalb des Unternehmens, optimiert Kosten und verbessert die Betriebseffizienz.
Datenintegration garantiert den kontinuierlichen Informationsfluss innerhalb des Unternehmens, optimiert Kosten und verbessert die Betriebseffizienz.

Dafür stehen mehr als 450 Datenkonnektoren zur Verfügung. Die „Big Data Edition“ der Software beherrscht zusätzlich noch die Zusammenarbeit mit Hadoop und den dazugehörigen Datenbanken beziehungsweise Komponenten wie beispielsweise HBase, HCatalog, HDFS, Hive, Oozie und Pig. IAIT hat sich angesehen, wie sich das System in der Praxis nutzen lässt.

Wenn heute von Big Data gesprochen wird, so meinen die beteiligten IT-Spezialisten damit meist eine Sammlung von Datensätzen, die so groß und komplex sind, dass sie sich mit normalen Datenverwaltungswerkzeugen nicht mehr bearbeiten lassen. Solche Datensammlungen – die teilweise in die Petabytes und Exabytes gehen – lassen sich nur schwer auswerten, da traditionelle Datenbanksysteme hier in Bezug auf die Leistungsfähigkeit an ihre Grenzen stoßen. Die Analysen von Big Data laufen folgerichtig auf anderen Systemen ab, die dazu in der Lage sind, parallel auf tausenden von Rechnern zu arbeiten und ihre Ergebnisse dann an eine zentrale Stelle zu melden.

Bildergalerie
Bildergalerie mit 5 Bildern

Die am weitesten verbreitete Lösung für die Arbeit mit Big Data ist Hadoop. Dabei handelt es sich im Prinzip um ein verteiltes Dateisystem auf Open-Source-Basis, das die gespeicherten Informationen auf mehrere Datenblöcke aufsplittet und diese Datenblöcke dann auf mehreren Systemen im Netz (dem Hadoop-Cluster) verteilt. Auf diese Weise stellt Hadoop gleichzeitig Hochverfügbarkeit und Redundanz sicher. Die Dateiablage und das Bearbeiten von Anfragen werden dabei durch einen so genannten Master-Node durchgeführt.

Talend Enterprise Data Integration

Um die Vorteile von Hadoop nutzen zu können, muss allerdings eine Möglichkeit existieren, die vorhandenen Daten in Hadoop abzulegen beziehungsweise auch wieder aus dem Open-Source-System herauszuholen. Hier kommt die Big Data Edition von Talend Enterprise Data Integration ins Spiel.

Bei Data Integration handelt es sich – wie oben schon skizziert – um eine Lösung, die Daten aus praktisch beliebigen Quellen einlesen, nach den Angaben der Benutzer bearbeiten und anschließend wieder exportieren kann. Mit dem Tool ist es im einfachsten Fall möglich, CSV-Dateien einzulesen, bestimmte Felder wie zum Beispiel Name oder Adresse daraus zu selektieren und diese dann in eine Excel-Datei zu exportieren. Der Leistungsumfang geht aber viel weiter und reicht von der Arbeit mit Business Intelligence-Lösungen wie Jaspersoft über SAP, AmazonRDS, Salesforce und ähnliches bis hin zu diversen Datenbanken wie DB2 oder auch Informix und eben Hadoop.

Talend Enterprise Data Integration arbeitet als Code Generator. Die Anwender müssen für den Einsatz der Lösung lediglich eine Datenquelle definieren, beispielsweise eine CSV-Datei oder eine Datenbank, und angeben, wie das Produkt mit den Daten umzugehen hat. Sobald die Datenquelle existiert, können die Benutzer sie als Icon im Arbeitsbereich platzieren.

Anschließend ist es möglich, die durchzuführenden Arbeitsschritte festzulegen. Hier steht den Usern eine Vielzahl unterschiedlicher Optionen zur Verfügung. Zum Beispiel haben sie die Möglichkeit, Daten zu filtern, zu sortieren, zu ersetzen, umzuwandeln, zu splitten, zusammenzuführen und zu konvertieren. Darüber hinaus lassen sich die Daten auch über eine Map-Funktion transformieren, also nur bestimmte Datenfelder auswählen, die Datenfelder anders anordnen, zusätzliche Daten – wie eine Nummerierung – automatisch hinzufügen und vieles mehr. Für diese ganzen Umwandlungsfeatures stehen auch wieder Icons bereit, die lediglich in den Arbeitsbereich gezogen werden müssen und dann dort konfigurierbar sind.

Sobald fest steht, in welcher Form das Werkzeug die Informationen verarbeiten soll, geht es an die Definition des Exports. Dafür bietet Talend Konnektoren an, die den Kontakt zu den unterstützten Zielsystemen, wie Informix oder Hadoop, herstellen. Die Konnektoren visualisiert die Data Integration-Lösung ebenfalls durch Icons, die nach einem Drag-and-Drop in den Arbeitsbereich zur Verfügung stehen und sich dort auch konfigurieren lassen. Die Konfigurationsoptionen hängen hier wieder vom Ausgabetyp ab, bei einem Excel-Sheet reicht es beispielsweise, den Ausgabepfad anzugeben.

Der Datenfluss zwischen den einzelnen Icons wird durch Linien repräsentiert, die die zuständigen Mitarbeiter in den meisten Fällen einfach mit der Maus ziehen können (manchmal ist es auch nötig, bestimmte Verbindungstypen aus einem Menü auszuwählen). Wenn all diese Schritte erledigt wurden, lässt sich der Job starten. Daraufhin erzeugt das Data Integration-Tool den zum Ausführen der Aufgabe erforderlichen Code, startet ihn und führt die Datenumwandlung durch. Der generierte Code kann Java oder SQL sein und für Hadoop zusätzlich noch Map Reduce, Pig Latin, HiveQL und mehr je nach genutzter Technologie.

Dank des Ansatzes, die einzelnen Arbeitsschritte durch Icons zu symbolisieren, denen die Anwender nur die Rahmenbedingungen mitteilen müssen, und den Code dann automatisch zu erzeugen, haben auch Mitarbeiter ohne Programmierkenntnisse die Chance, komplexe Datenverarbeitungsschritte durchzuführen, die viel Code benötigen.

Die eben skizzierten Arbeitsschritte waren nur ein einfaches Beispiel, es ist auch möglich, mit dem Produkt viel komplexere Aufgaben durchzuführen, wie beispielsweise den Import von Daten mit anschließendem Mapping bestimmter Felder, dem Umwandeln einiger Datentypen und dem Sortieren der überarbeiteten Ausgabe vor dem Export.

Im Test verwendeten wir eine Umgebung mit Hadoop 1.0.3, die innerhalb einer vSphere-Installation auf Basis der IBM X-Serverarchitektur lief. Nach dem Einspielen der Talend Enterprise Data Integration auf unserer Workstation, die mit Windows 7 Ultimate in der x64-Version arbeitete, importierten wir zunächst einige Daten aus einer CSV-Datei, wandelten sie um und exportierten sie als Excel-Sheet, um uns mit der Arbeitsweise der Lösung vertraut zu machen. Danach stellten wir eine Verbindung zu unserem Hadoop-System her, importieren dieselben CSV-Daten nochmals und schrieben sie in Hadoop. Anschließend ließen wir uns die Daten wieder ausgeben, um zu überprüfen, ob alles richtig funktioniert hatte.

Im nächsten Schritt verwendeten wir Testdaten aus dem Unternehmensbereich mit 100.000 beziehungsweise zehn Millionen Datensätzen und führten Analysen dieser Daten mit Hilfe von „Pig“ durch. Talend Enterprise Data Integration läuft übrigens auf Systemen mit der aktuellsten Java 1.6-Variante. Abgesehen davon empfiehlt der Hersteller den Einsatz von Windows 7 in der 64-Bit-Version als Betriebssystem sowie auf Hardware-Seite einen Standard-Rechner mit vier GByte Arbeitsspeicher.

Bei dem Entwicklungstool handelt es sich um eine von Eclipse abgeleitete Arbeitsumgebung, die auf der linken Seite über ein Repository verfügt, über das sich unter anderem Jobs, Joblets und Meta-Daten definieren lassen. Die Jobs umfassen die über die Icons symbolisierten Arbeitsanweisungen zum Umgang mit den Daten, die Meta-Daten können zum Einsatz kommen, um Datei-, Datenbank- sowie SAP-Verbindungen, Schemas und ähnliches einzurichten und die Joblets ermöglichen es, einzelne Prozesse als normale Komponenten – also modular – zu nutzen.

In der Mitte steht oben der bereits erwähnte Arbeitsbereich zur Verfügung, in dem die Anwender die Jobs mit Hilfe der Icons definieren während sich unten kontextabhängig die Konfigurationsoptionen für das gerade selektierte Icon bearbeiten lassen. An gleicher Stelle finden sich auch Optionen zum Starten und Debuggen der Jobs und Listen mit Fehlern, Meldungen und Infos.

Am rechten Fensterrand stellt Talend Enterprise Data Integration die so genannte Palette mit den einzelnen Komponenten bereit, die als Icons nutzbar sind. Dazu gehören die Import- und Export-Konnektoren genauso wie die Funktionen zum Bearbeiten der Daten, zum Ausführen von Befehlen und vieles mehr. Es lässt sich auch jederzeit eigener Code in das System einbinden. Die Palette stellt also die Quelle für die Drag-and-Drop-Vorgänge dar, mit denen sich die einzelnen Komponenten in den Arbeitsbereich ziehen lassen.

Nachdem wir uns mit den Grundfunktionen der Software vertraut gemacht hatten, ging es daran, die zuvor beschriebenen Jobs für unseren Test anzulegen und laufen zu lassen. Das Beschreiben aller in diesem Zusammenhang durchgeführten Arbeitsschritte würde den Rahmen des Tests sprengen. Deswegen sei nur gesagt, dass das Erstellen der Jobs mit Hilfe der Icons in der Regel nur wenig Zeit in Anspruch nahm, und dass der Export sowie Import von Daten in und aus Hadoop Out of the Box so wie erwartet funktionierte.

Sobald sichergestellt war, dass das Talend-Produkt problemlos mit unserem Hadoop-System kommunizieren konnte, machten wir uns im nächsten Schritt daran, eine Datenauswertung durchzuführen. Dazu wurde aus einer Kundendatei mit zehn Millionen Datensätzen eine bestimmte Kundennummer ausgelesen. Hierbei nutzten wir die Vorteile von Hadoop und erzeugten mit dem Talend-Werkzeug einen Code, der dann in das Hadoop-System übertragen wurde und dort die Datenabfragen durchführte. Das Ergebnis der Anfrage speicherten wir als File im Hadoop-Dateisystem ab. Als zweiten Test der Auswertungsfunktionalitäten verwendeten wir die Kundendatei zusätzlich, um herauszufinden, wie oft welches Produkt verkauft worden war.

In diesem Zusammenhang ist es wichtig, zunächst einmal auf die technischen Hintergründe einzugehen. Hadoop verwendet für Berechnungen über große Datenmengen den Algorithmus „MapReduce“. Dabei handelt es sich um ein Framework zum parallelen Durchführen von Abfragen unter Einsatz vieler Computer. MapReduce umfasst zwei Schritte: Zunächst einmal erfolgt das „Mapping“, das heißt, der Master-Node erhält den Input, teilt ihn in kleinere Unteranfragen auf und verteilt diese dann an die Nodes im Cluster. Die Unterknoten splitten dann die Anfragen entweder nochmals unter sich auf – was zu einer Art Baumstruktur führt – oder fragen ihre Datenbestände ab und schicken die Antwort zurück an den Master-Node. Im zweiten Schritt („Reduce“) sammelt der Master die Antworten und fügt sie zu der Ausgabe zusammen, die die ursprüngliche Anfrage beantwortet. Auf diese Art und Weise lassen sich die Abfragen parallel auf mehreren Systemen abarbeiten, was zu einer beeindruckenden Leistungsfähigkeit führt.

Um MapReduce-Programme zu erstellen, die auf Hadoop laufen, kommt die „Pig“-Plattform zum Einsatz. Sie heißt so, weil sie die „Trüffel“ in den Datensätzen finden soll. Die dazugehörige Programmiersprache nennt sich „Pig Latin“. Für den Einsatz von MapReduce ist es also erforderlich, spezielle Programme zu schreiben. Der Code Generator Talend Enterprise Data Integration nimmt den Benutzern hier die meiste Arbeit ab und stellt Funktionalitäten zur Verfügung, die es ermöglichen, die Datenquellen, Abfragen und Ziele direkt mit den gewohnten Icons im Arbeitsbereich der Entwicklungsumgebung zu definieren, den Code zu erzeugen (zum Beispiel MapReduce oder Pig Latin), an die Hadoop-Umgebung zu schicken und dort ausführen zu lassen.

Kurz nachdem wir unsere Testjobs angelegt und gestartet hatten, konnten wir im Web-Interface des Hadoop-Servers die Ergebnisse betrachten, die wie erwartet ausfielen. Die Arbeit mit den Pig-Elementen lief also im Test – genau wie der Im- und Export von Daten – vollkommen problemlos ab.

Fazit des Tests

Die Talend Enterprise Data Integration Big Data Edition verbindet die alte Welt der Datenverwaltung mit der Neuen. Das Produkt, das schon ohne die Anbindung an Big Data-Lösungen einen überzeugenden Funktionsumfang für die Datenintegration, -synchronisation und -umwandlung mit sich bringt, geht mit der Big Data-Anbindung noch einen ganzen Schritt weiter. Dank des Pig-Supports lassen sich auf einfache Weise verteilte Datenabfragen im Cluster durchführen und die Unterstützung weiterer Technologien Hive und HBase ermöglicht den Einsatz der Anwendung in praktisch allen Umgebungen.

Umfassende Data Quality-Features und ein Projektmanagement mit Scheduling und Monitoring-Framework runden das Leistungsspektrum des Produkts ab. Talend Enterprise Data Integration Big Data Edition arbeitet zudem nicht nur mit der Hadoop-Distribution der Apache Foundation zusammen, sondern auch mit den Lösungen von Hortonworks, Cloudera, MapR und Greenplum. Datenbankadministratoren und -dienstleister dürften an diesem Produkt kaum vorbei kommen.

(ID:34933460)