ETL

Der TalendOpenStudio-Foundation-Training-Marathon

Bis zum Jahresende finden ab dem 27. Oktober deutschlandweit und wöchentlich, dreitägige Foundation-Trainings zu Talend Open Studio statt. Die einzelnen Termine und Veranstaltungsorte können in meinem Talend-Event-Kalender nachgeschlagen werden.

Im Foundation Training bekommt man das grundlegende Rüstzeug, um mit TOS erfolgreich eigene ETL- und Integrationsprojekte stemmen zu können. Angefangen bei der Installation, über die Bedienung der Oberfläche, über die Verwendung der einzelnen Komponenten, über das Deployment hin zum Debugging von Jobs erfährt man alles Notwendige, um mit Talend schnell ans Ziel zu kommen.

Anmelden kann man sich durch Download und Unterschrift des Anmeldeformular-PDFs.

ETL und ELT – Pro und Contra Listen

Ich bin im b-eye-network soeben über einen (zwar schon etwas älteren aber) sehr interessanten Post zum Thema ETL und ELT gestoßen. Auch wenn ich heute im BI Glossar erstmal nur ETL vorgestellt habe, möchte ich diesen Post von Dan E. Linstead nicht für mich behalten: ELT and ETL – candit view on pros and cons.

Er stellte darin ETL und ELT einander gegenüber und zeigt die jeweiligen Argumente dafür und dagegen auf. ETL kommt dabei nicht ganz so gut weg. Ich frag mich nur, ob sich da seine Meinung von damals zu heute wieder ein wenig geändert hat.

Glossar: ETL (Extract-Transform-Load)

Unter ETL (Extract,Transform and Load oder Extrahieren, Transformieren und Laden) versteht man den Vorgang, Daten aus verschiedenen Datenquellen zu extrahieren, diese entsprechend aufzubereiten (transformieren) und anschließend in ein Zielsystem zu laden.

Extract

Die Daten im Unternehmen werden von verschiedensten System verwaltet, seien es nun ERP, CRM, Web-Shops oder Excelsheets. Zur Überführung dieser Daten in ein Data Warehouse (DWH) oder in ein anderes Zielsystem ist es notwendig, auf die heterogene Datenlandschaft zugreifen zu können, und die Informationen in die Transformationsprozesse einfliessen zu lassen.

Transform

Die Transformation der Daten kann beispielsweise eine reine Zusammenführung der Daten sein. Bestelldaten eines Kunden, wie die im Webshop hinterlegte Lieferadresse, werden mit den Kontaktdaten des Kunden aus dem CRM zusammengeführt. Transformation kann aber auch wesentlich mehr bedeuten. Eine Bereinigung und Aufbereitung (Cleansing) der Daten kann z.B. im Transformationsprozess stattfinden. Man stelle sich z.B. einen Kundendatensatz vor, bei dem das Geschlecht bzw. die Anrede (Herr, Frau) nicht definiert ist. Aufgrund des Vornamens liese sich diese Informationen aber durch Lookups in entsprechenden Namenslisten vervollständigen, zumindest in einem Großteil der Fälle. Bleiben wir beim Geschlechtermerkmal: Herr, m , Mann, male, männlich, 1 oder 0 – das sind alles Varianten der gleichen Information. Diese werden  im  Transformationsprozess bereinigt, so dass am Ende die Geschlechtertrennung mit 2 Werten erfolgen kann: männlich oder weiblich, 0 oder 1, m oder w, usw..   

Load

Mit dem Laden ist das Befüllen eines Zielsystems gemeint. Oftmals sind das Data Warehouses oder Data Marts. Aber auch ein Excelsheet oder eine CSV-Datei sind mögliche Ausgabeziele.

ETL kann und wird auch in sehr vielen Fällen durch reine Programmierung erfolgen. Ein oder mehrere Entwickler schreiben entsprechende Programme und Skripts. Dies kann aber schnell, insbesondere natürlich bei aufwendigen Systemgegebenheiten, wie z.B. viele (unterschiedliche) Quellen, komplexe, sich häufig verändernte Transformationen oder auch unterschiedlichen Ausgabezielen, sehr aufwendig, kostenintensiv und fehleranfällig werden.
Daher gibt es mittlerweile eine Vielzahl von Produkten, teils integriert in die kommerziellen BI-Lösungen, als auch als Open Source-Software. Unter die letzte Gruppe fällt eben auch Talend Open Studio. Diese Software hilft dabei, die ETL-Prozesse, meist durch grafische Entwicklungsumgebungen, leicht umsetzen, warten und verteilen zu können.
Ich habe mal eine (recht überschaubare) Liste von ETL-Software zusammengestellt.

 in

Datenqualität in Textfeldern mit RegExp überprüfen

Einen interessanten Ansatz, um Texteingaben nach bewussten Falscheingaben zu durchsuchen, hat mein Kollege Sebastiao in seinem Blog veröffentlicht.
Er macht sich dabei eine sehr interessante Tatsache zu nutze – das Tastatur-Layout.

400px-KB Germany Svg in

Die Problemstellung kennen sicherlich einige Web-Programmierer:
Der Besucher der Website soll, bevor er z.B. ein Whitepaper oder ein Programm herunterladen kann, möglichst viel über sich und sein Unternehmen preisgeben. Je besser diese Informationen sind, desto leichter kann das Marketing diese im Anschluss verwerten.
Nun hat nicht jeder Besucher Lust, von einem Vertriebler angeschrieben oder angerufen zu werden, denn diese könnenn ja oftmals sehr hartnäckig sein. Dummerweise sind immer einige Felder als Pflichtfelder gekennzeichnet, ohne deren Befüllung man einfach nicht weiter zum gewünschten Ziel kommt.
Ablösung schafft das Eingeben von “irgendwas”, hauptsache, das Feld enthält Text, und der Weiter-Link funktioniert endlich.

Um den Vertrieb nicht unnötig mit solchen Pseudo-Adressen zu quälen, sollten diese schnellstmöglich wieder aus dem CRM oder der Datenbank entfernt werden.

Nur, wie soll man diese denn automatisiert von guten Eingaben unterscheiden?

Sebastio bedient sich dabei Regular Expressions. Und wie soll das nun von statten gehen?
Ganz einfach, wenn man davon ausgeht, dass auf Grund des Layouts der Tastatur, also der Anordnung der Tasten, die meisten Eingaben aus zufälligen Konsonantenketten bestehen.
Man kann das sehr gut bei sich selbst beobachten. Die Zeigefinger liegen bei mir zum Beispiel immer auf der mittleren Buchstaben reihe. Linke Hand auf dem F, rechte Hand auf dem H.
Wenn ich eben mal “Blödsinn” eingeben möchte, dann drücke ich einfach meiner Finger der Reihe nach auf die darunterliegenden Tasten. Und das sind dann eben lauter Konsonanten, denn die Vokale befinden sich alle, bis auf das A, in der ersten Buchstabenreihe.
Tatsächlich ist es beim französischen Layout sogar wirklich so, dass alle Vokale ausschließlich in der ersten Zeile liegen.

Die RegExp von Sebastiao würde ich daher für deutsche Benutzer ein wenig umändern, so dass auch mal ein A in einem Wust von Konsonanten, aus der mittleren Zeile auftauchen darf.

Eine solche Regel ist natürlich auch nicht auf den Talend Open Profiler beschränkt, man kann diese genauso in PHP oder Perl oder sonstwo einsetzen.

 in