Datenmanagement zwischen den Schritten – Pentaho Kettle Teil 2

Im zweiten Teil unserer Pentaho Kettle-Reihe dreht sich alles um das Verwalten von Daten aus einer Datenbank. Dazu zählt das Holen von Daten und das Bearbeiten, Hinzufügen und Löschen dieser Daten. Wie du dies in der Data Integration von Pentaho umsetzen kannst, zeigen wir dir in diesem Tutorial.

Falls du nicht mehr weißt, wie man eine Pentaho Kettle Transformation erstellt, legen wir dir unseren Artikel Pentaho HowTo Teil3 ans Herz. Dort wird erklärt, wie ein Job bzw. eine Transformation überhaupt erstellt wird, welche Struktur diese haben und zudem werden einige Schritte vorgestellt, die wir diesem Tutorial auch verwenden werden.

Datenbank

Bevor du jedoch im Kettle loslegen kannst, musst du zunächst eine Datenbank auf den Server deiner Wahl (wir benutzen einen MSSQL Server) anlegen (z.B. „TestDB“) und eine Datenbanktabelle erstellen. Was du mit dieser Tabelle anfängst, ist dir frei überlassen. Als Beispiel erstellen wir die Tabelle „Reporte“, die die Reporterstellung leiten soll. Wir benötigen dazu folgende Spalten:

Da wir in diesem Tutorial wieder unseren Beispielreport „Income Statement“ benutzen, fügen wir der Tabelle folgende Spalte hinzu:

Datenbankverbindung

Zunächst musst du eine Verbindung zwischen der Transformation und der Datenbank herstellen, indem du im linken Fenster auf „View“ gehst und unter „Database connections“ eine neue Verbindung hinzufügst.

Kettle Transformation

Holen der Daten

Danach kannst du anfangen den eigentlichen Ablauf der Transformation zu kreieren. Der erste Schritt ist „Table Input“, mit dem du die Daten aus der Datenbank holen kannst. Achte darauf, dass oben bei „Connection“ die richtige Datenbankverbindung ausgewählt ist. Nun fügst du folgende Abfrage hinzu:

Verarbeitung der Daten

Nach dem „Table Input“ brauchen wir den Schritt „Select values“, bei dem du im Tab „Select & Alter“ die Felder auswählen kannst, die du in der weiteren Verarbeitung benutzen willst. Die Felder, die du nicht brauchst, z.B. das Feld „Erfolg“, lässt du dementsprechend einfach weg.

Im nächsten Schritt benutzen wir „Modified Java Script Value“. Das JavaScript, das dort ausgeführt wird, hat die Funktion den gesamten Pfad plus Dateiname des Zielreportes zusammenzusetzen und bei den Pfaden das Backslash durch ein Slash auszutauschen, da das JavaScript die Backslashes als Escape erkennt und dadurch aus unserem Beispiel „C:\pentaho_kettle\Reportvorlagen\Income Statement.prpt“ „C:pentaho_kettleReportvorlagenIncome Statement.prpt“ machen würde.

Hierbei darf nicht vergessen werden auf den Button „Get variables“ zu klicken, da sonst im JavaScript neu kreierte Felder nicht übergeben werden.

Nun kommen wir zur Erstellung des Reportes mit dem „Pentaho Reporting Output“-Schrittes. Auf dessen Funktionsweise sind wir in dem Artikel Pentaho HowTo Teil3 bereits näher eingegangen. Da wir in unserem jetzigen Beispiel keine Parameter beim Report haben, ist lediglich zu beachten das Feld „Reportvorlage“ bei „Report definition file“ und „Zieldatei“ bei „Output file“ auszuwählen.

Setzen von Daten

Nach dem der Report mit Hilfe des „Pentaho Reporting Output“-Schrittes erstellt wurde, müssen wir nun für den erstellten Report das Feld „Erfolg“ auf Ja bzw. auf true setzen. Dafür brauchen wir zunächst wieder den Schritt „Select values“, wo wir lediglich das Feld „Id“ an den nächsten Schritt übergeben. Der Grund dafür ist, dass man später wahrscheinlich mehr als nur eine Zeile in der Datenbank hat und diese sind durch die Id eindeutig zugeordnet.

Zuletzt brauchen wir den Schritt „Execute SQL script“, indem wir ein Update-Query auf die Datenbank entwickeln.

Wichtig hierbei ist das Fragezeichen in dem Script, dass die Felder, die an diesen Schritt übergeben werden, einfügt. Dazu muss man jedoch auf den Button „Get fields“ klicken und bekommt die Felder als „Parameters“ unten angezeigt (Reihenfolge der „Parameters“ entspricht der Reihenfolge der Fragezeichen im Query). Zu beachten ist, dass man den Haken bei „Execute for each row?“ setzt.

Damit ist der Ablauf der Transformation fertig und du kannst sie nun starten. Den gesamten Ordner mit der Transformation und der Reportvorlage haben wir dir noch einmal zum Download bereitgestellt: pentaho_kettle_datenmanagement

Wir hoffen dir hat unser Tutorial zum Datenmanagement in Kettle gefallen und verweisen nochmal auf den ersten Teil dieser Reihe: Pentaho Kettle Teil 1

Kommentar schreiben

  • (benötigt)
  • (benötigt)