Zuletzt bearbeitet vor 3 Wochen
von Daniel Quathamer

Kettle Kurs Teil 2

Monitoring/Logging von Kettle Jobs

  • Loglevel und -dateien
  • Mailversand

Versionierung von Jobs

  • Kettle Jobs und git-Versionierung

Das Problem

Beim Speichern eines Jobs wird immer die Connection mitgespeichert. Daher muss sie vor dem Commit ins git gelöscht werden. Hierzu ist der gesamte Tag sowohl im Job, als auch in den Transformationen zu löschen.

kettle integration 1.png

Die Connection-Information in den einzelnen Schritten bleibt jedoch enthalten.

kettle integration 2.png

Jobmanagement

Im folgenden zeigen wir wie Sie Jobs "on demand" direkt aus HISinOne oder SuperX im Browser vom Nutzer starten lassen.

Eigenes BI-Modul

Ein Kettle Job ohne Eingabeparameter kann in einem eigenen "Mini"-Modul deklariert und über das HISinOne-Jobmanagement ausgeführt werden.

  1. Erstellen Sie ein minimales Modul mit einer Modul-XML-Datei
  2. In der Modul-XML-Datei im Bereich ETL können Sie Ladejobs deklarieren
  3. Das Modul können Sie auf eine SuperX- oder BI-Installation synchronisieren oder die zip-Datei dort unter $SUPERX_DIR bzw. webapps/superx entpacken
  4. Danach ist es in der BI-Komponentenverwaltung sichtbar:

kettle myjobs1.png

Mit Klick auf das "Installations-"Icon wird es installiert

kettle myjobs2.png

und danach ist es auch in der Konnektorenübersicht sichtbar, inkl. Unter-Ladejobs:

kettle myjobs3.png


Die Jobs können dann über das BI Jobmanagement ausgeführt werden. Auch ein zeitgesteuertes Ausführen ist möglich , per Kommandozeile.

Über die Browser-Oberfläche ist ebenfalls ein zeitgesteuerter Update möglich. Gehen Sie dazu in die Admin-Rolle, und wählen das Menü Administration -> Konfigurationsassistenten:

kettle myjobs5.png

Ajuf dem Reiter "Business Intelligence" können Sie den jew. Job markieren und so in die nächtliche Laderoutine aufnehmen:

kettle myjobs6.png

Weitere Details siehe die Beschreibung des Installationsassistenten bei HIS.

BI Ladejob ausführen

Um den Job im System bekannt zu machen wird ein Eintrag in der eduetl-Tabelle sx_jobs angelegt.

Feld Beschreibung
tid tid
uniquename Unique Name
caption Bezeichnung
filepath Pfad zur Datei
sachgebiete_id Sachgebiet
kenn_profil Optional: Kenn-Profil
hs_nr Optional: Hochschulnummer
modus_supported Modus unterstützt?
params optionale Parameter
check_sql optionaler Prüf-SQL

Ein Beispiel - Datensatz sieht wie folgt aus:

tid uniquename caption filepath ... check_sql
1450 nhs_stbb_hhpl_manuell Stellen lt. HH-Plan manuell einlesen kenn/etl/nhs_stbb_manuell/stbb_hhpl_manual_upload.kjb ... select count(*) from kenn_stelle_hhpl

Das Ergebnis des Prüfprotokolls erscheint nach Ausführen des Jobs im Ladeprotokoll. Hier wird die Anzahl Datensätze in der Zieltabelle gezählt.

Die Masken, welche Ladejobs ausführen benötigen zwingend das Feld dokettlejob. Anhand dieses Feldes wird dem System mitgeteilt, dass ein Kettle-Job auszuführen ist. Das Feld darf versteckt werden.

kettle integration 3.png

Um die auswählbaren Kettle-Jobs zu definieren wird auf die Tabelle sx_jobs zugegriffen.

kettle integration 4.png

Kettle unter Linux

  • DB-Anbindung

Kettle Goodies

  • Coole neue Features