SuperX

KontaktMail für InfosSuchenLogin

Den Ladejob mit Kettle erstellen

Der Ladejob wird mit Pentaho Data Integration (Kettle) erstellt. Im ersten Schritt "tmp_kenn_stelle_hhpl" wird per SQL eine temporäre Tabelle erstellt. Es folgen zwei Transformationsschritte (excel_into_tmp_kenn_stelle_hhpl und get_kapitel.ktr). Diese führen beide jeweils eine Transformation aus. Abschließend wird ein SQL-Skript ausgeführt (Update kenn_stelle_hhpl). Folgend wird der Transformationsschritt excel_into_tmp_kenn_stelle_hhpl näher betrachtet, welcher den Inhalt des Templates in die zuvor angelegte temporäre Tabelle schreibt.

 

Die Transformation excel_into_tmp_kenn_stelle_hhpl besteht aus zwei Schritten. Dem "Microsoft Excel Input" und dem "Table output". Zunächst wird der "Microsoft Excel Input"-Schritt betrachtet.

 

Im Reiter "Files" wird der Pfad zur Exceldatei angegeben. In diesem Falle handelt es sich um Die Variable ${PATH_TO_UPLOADFILE}, welche beim Abschicken der Maske "Grunddaten und Kennzahlen hinzufügen (Datei)" gefüllt wird.

 

Um den Ladejob zum Test lokal ausführen zu können, wird die Variable mit einem Default gefüllt. Das geschieht unter "Edit-->Settings..." im Reiter "Parameters".

 

Im Reiter Sheets des "Microsoft Excel Input"-Schrittes wird der Name des Tabellenblattes der Excel-Datei angegeben, aus welchem gelesen wird. Dazu gehört eine Angabe der Zeile und Spalten, ab welcher Daten gelesen werden. Es wird bei 0 begonnen, das bedeutet in diesem Beispiel wird ab Zeile 6 und Spalte B ausgelesen.

 

Da im Beispieltemplate in Zeile 6 die Kopfzeile der Tabelle beginnt wird Header angeklickt, um zu signalisieren, dass die eingelesene Tabelle eine Kopfzeile enthält.

 

Im Reiter Fields werden die einzulesenden Spalten definiert. Wichtig ist, das bei führende 0-en (Nullen) auch bei Strings entfernt werden. Dies sollte bei Feldern, welche beispielsweise Schlüssel enthalten, unbedingt vermieden werden. Dazu wird unter Format für das jeweilige Feld eine Raute # eingetragen.

 

Im zweiten Schritt der Transformation wird der zuvor eingelesene Inhalt in eine Datenbanktabelle geschrieben.

 

Wichtig ist die Connection eduetl zu nennen, damit der Ladejob auf den BI-Systemen läuft. Die Zieltabelle ist tmp_kenn_stelle_hhpl. Zudem kann beispielsweise ein Haken bei "Truncate Table" gesetzt werden, falls bei jedem Laden des Templates, die Zieltabell zunächst gelöscht werden soll. Um die Zielfelder der Zieltabelle näher zu definieren wird "Specify database fields" aktiviert und in den Reiter "Database fields" gewechselt.

 

Dort werden die Tabellenfelder ausgewählt und die dazugehörigen "Stream fields", aus welchen die Daten in die Tabellenfelder der Zieltabelle geschrieben werden. Bei den "Stream fields" handelt es sich um jene Felder, welche im "Microsoft Excel Input"-Schritt im Reiter fields benannt wurden.