Zum Hauptinhalt springen

ETL

Einführung in ETL in ConSol CM

ETL wird zum Verarbeiten von großen Mengen an Laufzeitdaten. Es ermöglicht den Import von Vorgängen, Kontakten, Ressourcen und Benutzern aus externen Datenquellen nach ConSol CM. Außerdem können Vorgänge, Kontakte, Ressourcen und Benutzer aus ConSol CM in externe Datenquellen exportiert werden. Dies ist normalerweise nötig, um ConSol CM in die IT-Infrastruktur des Kunden zu integrieren und Daten mit externen IT-Systemen auszutauschen.

  • ETL (Extract Transform Load): Prozess, bei dem Daten aus einer Datenquelle extrahiert, transformiert und in eine andere Datenquelle importiert werden
  • Transformation: Kette mit Verarbeitungsschritten, die einen Datenfluss definieren; besteht normalerweise aus einem oder mehreren Eingabeschritten, mehreren Transformationsschritten und mehreren Ausgabeschritten; Dateinamenserweiterung ktr
  • Job: Workflow zum Ausführen von einer oder mehreren Transformationen; umfasst normalerweise die Dateiverfügbarkeit, Datenbankverbindungen und Fehlerbenachrichtigungen; Dateinamenserweiterung kjb
  • Plugin: Verarbeitungsschritt mit Einstellungen, die in Transformationen oder Jobs verwendet werden
  • Task: Verarbeitungsschritt mit Einstellungen, die in Transformationen oder Jobs verwendet werden

Zweck und Verwendung

ETL ermöglicht die Verarbeitung von großen Mengen an Laufzeitdaten:

  • Vorgangs-, Kontakt-, Ressourcen- oder Benutzerdaten aus einer externen Datenquelle nach ConSol CM importieren
  • Vorgangs-, Kontakt-, Ressourcen- oder Benutzerdaten aus ConSol CM in eine externe Datenquelle exportieren
  • Vorgänge, Kontakte, Ressourcen oder Benutzer aus einem ConSol CM-System in ein anderes ConSol CM-System migrieren
info

Der Import und Export von Konfigurationsdaten erfolgt auf den Seiten Staging-Export, Benutzerdefinierter Export und Import der Web Admin Suite.

Die erforderlichen Verarbeitungsschritte werden in Transformationen und Jobs definiert und in einer Task referenziert. Die Task wird gemäß einer definierten Planung ausgeführt.

Anwendungsbereiche der Applikationen

Die Arbeit mit ETL in ConSol CM beinhaltet mehrere Applikationen. Die folgende Abbildung verdeutlicht ihre Anwendungsbereiche:

ETL_DE.png

  • Pentaho Data Integration: Desktop-Anwendung eines Drittanbieters zum Erstellen von Transformationen und Jobs. ConSol CM stellt verschiedene eigene Plugins bereit, die mit den Standard-Plugins von PDI kombiniert werden, um Transformationen zu erstellen.
  • ETL Runner: Konsolenanwendung zur Ausführung von Tasks. Kann auf dem Applikationsserver von ConSol CM installiert oder als eigenständige Java-Anwendung ausgeführt werden.
  • Web Admin Suite: Webanwendung zum Erstellen von Tasks basierend auf Transformationen und Jobs, Planen von Tasks, Nachverfolgen der Task-Ausführung und Verwalten der in Transformationen verwendeten Dateien.

Verfügbare Plugins

Die ConSol CM-ETL-Plugins können in Transformationen zusammen mit den direkt von PDI bereitgestellten Plugins verwendet werden. Sie sind entsprechend ihres Zweckes in die Ordner Input, Output und Lookup eingeordnet.

Standardmäßig sind die häufig verwendeten PDI-Plugins in ETL Runner verfügbar. Informationen zum Hinzufügen von zusätzlichen Plugins finden Sie in Hinzufügen zusätzlicher PDI-Plugins.

Eingabeschritte (Input)

Eingabeschritte exportieren Daten aus der ConSol CM-Datenbank

  • Case input: Vorgänge aus ConSol CM exportieren
  • Contact input: Kontakte aus ConSol CM exportieren
  • Resource input: Ressourcen aus ConSol CM exportieren
  • User input: Benutzer aus ConSol CM exportieren
  • Role input: Rollen aus ConSol CM exportieren

Ausgabeschritte (Output)

Ausgabeschritte importieren Daten in die ConSol CM-Datenbank.

  • Case output: Vorgänge nach ConSol CM importieren
  • Case container field output: Vorgangsfelder der Typen Liste oder Spalten nach ConSol CM importieren
  • Case relation output: Relationen zwischen Vorgängen nach ConSol CM importieren
  • Case-contact relation output: Relationen zwischen Vorgängen und Kontakten nach ConSol CM importieren
  • Case content output: Kommentare und Attachments für Vorgänge nach ConSol CM importieren
  • Contact output: Kontakte nach ConSol CM importieren
  • Contact container field output: Kontaktfelder der Typen Liste oder Spalten nach ConSol CM importieren
  • Contact content output: Kommentare und Attachments für Kontakte nach ConSol CM importieren
  • Resource output: Ressourcen aus einem anderen System nach ConSol CM importieren
  • Resource container field output: Ressourcenfelder der Typen Liste oder Spalten nach ConSol CM importieren
  • Resource content output: Kommentare und Attachments für Ressourcen nach ConSol CM importieren
  • Resource relation output: Relationen zwischen Ressourcen nach ConSol CM importieren
  • User output: Benutzer nach ConSol CM importieren

Suchschritte (Lookup)

Suchschritte prüfen Daten in der ConSol CM-Datenbank.

  • Contact ID lookup: Kontakte in der ConSol CM-Datenbank suchen
  • Resource ID lookup: Ressourcen in der ConSol CM-Datenbank suchen

Übersicht der Aufgaben

Sie müssen folgende Aufgaben ausführen, um ETL in ConSol CM zu verwenden:

  1. Installieren Sie PDI auf dem lokalen Entwicklungsrechner, siehe Installing Pentaho Data Integration.
  2. Installieren Sie ETL Runner auf dem Serverrechner, siehe Installing ETL Runner.
  3. Erstellen Sie Transformationen und Jobs in PDI. Allgemeine Hinweise und Informationen über die Standard-Plugins finden Sie in der offiziellen PDI-Dokumentation. Die ConSol CM-Plugins sind in Verfügbare Plugins beschrieben.
  4. Laden Sie die Transformationen und Jobs in den Workspace auf dem Rechner von ETL Runner, siehe Hochladen von Transformationen und Jobs.
  5. Erstellen Sie Tasks, um die Transformationen und Jobs auszuführen, siehe Erstellen von Tasks.
  6. Laden Sie die Dateien, die zum Ausführen der Transformationen oder Jobs hoch, siehe Verwalten von Dateien.
  7. Verfolgen Sie die Task-Ausführung, siehe Nachverfolgen der Task-Ausführung.

Wenn die Transformationen oder Jobs Verbindungen zu externen Datenbanken beinhalten, müssen Sie sicherstellen, dass die Verbindungen definiert sind und ETL Runner Zugang zu den Treibern hat, siehe Verbinden mit externen Datenbanken.

Grundlegende Aufgaben

Konfigurieren der Verbindung zu ETL Runner

Um die Web Admin Suite für die Arbeit mit ETL zu verwenden, müssen Sie die Verbindung zu der ETL Runner-Instanz konfigurieren, die die Tasks ausführen soll.

  1. Öffnen Sie den Tab Verbindung.
  2. Geben Sie die URL von ETL Runner ein. Die URL hängt vom Installationsmodus ab. Beispiele:
  3. Geben Sie das Secret von ETL Runner ein, so wie es in der Einstellung application.secret der Datei etlRunnerApplication.properties definiert ist.
  4. Sie können auf den Button Verbindung prüfen klicken, um zu überprüfen, ob die URL korrekt ist.
  5. Klicken Sie auf den Button Verbindung aktualisieren, um die Verbindung zu speichern.

Der Tab Verbindung zeigt den Pfad zum Verzeichnis mit dem ETL-Workspace, das bei der Installation von ETL Runner definiert wird, siehe Installing ETL Runner.

Hochladen von Transformationen und Jobs

Mit der Web Admin Suite können Sie die in PDI erstellen Transformationen und Jobs in den ETL-Workspace hochladen. Wenn Ihre Transformationen oder Jobs andere Dateien benötigen, wie zum Beispiel Eingabedateien, die die zu importierenden Daten enthalten, können Sie diese ebenfalls in den Workspace laden.

  1. Öffnen Sie den Tab Dateien.
  2. Navigieren Sie zum gewünschten Speicherort. Sie können ein bestehendes Verzeichnis per Doppelklick öffnen. Zusätzlich können Sie auf den Button Neues Verzeichnis klicken, um einen neuen Ordner zu erstellen. Die Verzeichnisstruktur kann nach Wunsch definiert werden. Sie können zum Beispiel einen Ordner für jede Transformation erstellen, der wiederum Unterordner für Eingabe-, Ausgabe und Log-Dateien enthält.
  3. Klicken Sie auf den Button Datei hochladen. Wenn Sie eine ZIP-Datei hochladen, wird sie automatisch im Zielverzeichnis entpackt.

Als Alternative können Sie die Dateien mit anderen Mitteln an den gewünschten Ort kopieren, z. B. mit dem Dateiexplorer oder FTP.

info

In Ihren Transformationen können Dateien referenziert werden, die außerhalb des Workspaces gespeichert sind. Diese Dateien können nicht im Tab Dateien verwaltet werden.

Erstellen von Tasks

Eine Task ist eine JSON-Datei, in der die notwendigen Einstellungen zum Ausführen einer Transformation oder eines Jobs gespeichert sind. Es sind folgende Einstellungen verfügbar:

  • Task-Name: Geben Sie einen Namen für den Task ein. Er wird im Namen der JSON-Datei verwendet.
  • Pfad zur Transformation oder dem Job: Wählen Sie entweder eine KTR- oder KJB-Datei aus, die im Workspace gespeichert ist, und automatisch vorgeschlagen wird, oder geben Sie den Pfad zur Datei manuell ein. Dies kann ein relativer Pfad im Workspace oder ein absoluter Pfad auf dem Rechner, auf dem ETL Runner läuft, sein. Mit den Icons auf der linken Seite können Sie eine neue Datei hochladen oder prüfen, ob die Datei existiert.
  • Planung: Legen Sie die Ausführungsplanung für den Task fest. Es gibt drei Optionen:
    • Manuell: Der Task wird manuell durch Klicken auf das Start-Icon in den Task-Details gestartet.
    • Einmalig: Der Task wird einmal am angegebenen Ausführungsdatum und -zeit ausgeführt.
    • Periodisch: Der Task wird periodisch gemäß des eingegebenen Cron-Ausdrucks ausgeführt. Sie können entweder einen kompletten Ausdruck eingaben, oder die Teile des Ausdrucks separat editieren. Klicken Sie auf Beispiele zeigen, um Beispiele anzuzeigen, die Sie für die weitere Bearbeitung auswählen können. Klicken Sie auf Nächste Ausführungen, um zu sehen, wann der Task gemäß der definierten Planung ausgeführt würde.
  • Log-Level: Wählen Sie, wie detailliert das Logging der Task-Ausführung sein soll.
  • Pfad zur Log-Datei: Geben Sie den Pfad an, an dem die Log-Datei gespeichert werden soll. Das kann ein relativer Pfad im Workspace, oder ein absoluter Pfad auf dem Rechner, auf dem ETL Runner ausgeführt wird, sein.
  • Pfad zur JNDI-Properties-Datei: Geben Sie den Pfad an, an dem die JNDI-Properties-Datei gespeichert ist. Diese wird benötigt, wenn die Transformation bzw. der Job auf externe Datenbanken zugreift. Das kann ein relativer Pfad im Workspace, oder ein absoluter Pfad auf dem Rechner, auf dem ETL Runner ausgeführt wird, sein.
  • Sicherer Modus: Wählen Sie diese Option, um sicherzustellen, dass das Layout aller Zeilen identisch ist. Wenn eine Zeile nicht dasselbe Layout hat, wie die erste Zeile, wird ein Fehler erzeugt und gemeldet.
  • Metriken erfassen: Wählen Sie diese Option, um Metriken zu sammeln, um die Performance der Ausführung zu überwachen.
  • Performance der Schritte erfassen: Wählen Sie diese Option, um Metriken über die Performance der Schritte zu sammeln, um die Performance der Ausführung zu überwachen.
  • Parameter: Sie können Parameter mit den gewünschten Werte erstellen, um sie als lokale Variablen für die Transformation zu speichern. Dies ist beispielsweise nützlich, wenn die Transformation Daten in Ausgabedateien schreibt, und Sie die Dateipfade nicht hardkodiert in die Transformation schreiben wollen.
  • Variablen: Sie können Variablen mit den gewünschten Werten erstellen, um benutzerdefinierte und Umgebungsvariablen zu speichern. Die Werte der Variablen Workspace.Directory, cmUser und cmPassword sind schreibgeschützt, da sie in der Datei etlRunnerApplication.properties definiert werden, siehe Installing ETL Runner.
Verwenden von Cron -Ausdrücken

Die Task-Planung erfolgt mithilfe von Con-Ausdrücken. Ein Cron-Ausdruck ist ein String, der aus sechs Feldern besteht:

  • Sekunde (nicht unterstützt)
  • Minute: 0 - 59
  • Stunde: 0 - 23
  • Tag des Monats: 1 - 31 oder L (letzter Tag des Monats), ein auf eine Zahl oder ein L folgendes W meint den Wochentag
  • Monat: 1 - 12 oder JAN - DEC
  • Wochentag: 0 - 7 oder MON - SUN

Im Ausdruck können folgende Operatoren verwendet werden:

  • * (Sternchen): jeder, d. h. erster bis letzter, z. B. * im Feld „Tag des Monats“ bedeutet jeden Tag
  • - (Bindestrich): inklusiver Bereich, z. B. MON-FRI bedeutet Montag bis Freitag
  • , (Komma): und, z. B. SAT,SUN bedeutet Samstag und Sonntag
  • / (Schrägstrich): Intervall, z. B. */4 im Feld Stunde bedeutet alle vier Stunden

Die folgenden Beispiele zeigen gültige Cron-Ausdrücke:

  • Tägliche Ausführung um 23:30: 30 23 * * *
  • Tägliche Ausführung um 23:00 unter der Woche: 0 23 * * MON-FRI
  • Tägliche Ausführung alle vier Stunden: 0 */4 * * *
  • Tägliche Ausführung jede Stunde von 08:00 bis 17:00: 0 8-17 * * *
  • Wöchentliche Ausführung um 01:10 an Sonntagen: 10 1 * * SUN
  • Monatliche Ausführung um 01:00 am ersten Tag es Monats: 0 1 1 * *
  • Monatliche Ausführung um 23:30 am letzten Tag des Monats: 30 23 L * *
  • Ausführung um 23:30 am letzten Tag unter der Woche des Quartals: 30 23 LW MAR,JUN,SEP,DEC *

Die offizielle Dokumentation finden Sie unter https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/support/CronExpression.html.

Verwalten von Dateien

Der Tab Dateien zeigt den Inhalt des Workspaces auf dem Rechner mit ETL Runner. Sie können die in den Transformationen oder Jobs benötigten Dateien im Workspace speichern, z. B. die Eingabedateien, die importiert werden. Es sind folgende Aktionen verfügbar:

  • Dateien oder Ordner finden: Navigieren Sie durch das Verzeichnis, indem Sie in der Tabelle auf die Ordner klicken oder über der Tabelle auf die Links im Pfad Aktuelles Verzeichnis klicken. Geben Sie den Namen einer Datei oder eines Ordners in das Suchfeld ein, um die Tabelle entsprechend zu filtern. Wenn in anderen Unterverzeichnissen passende Dateien oder Ordner gefunden wurden, werden über der Tabelle Links angezeigt, über die Sie diese öffnen können.
  • Dateien bearbeiten: Bearbeiten Sie Textdateien (Erweiterungen .csv, .json, .kjb, .ktr, .log, .properties, .tsv, .txt und .xml) direkt, indem Sie auf ihren Namen doppelklicken. Dies öffnet ein Modalfenster mit einem Texteditor. Es sind nur Dateien, die kleiner sind als 64 KB, editierbar.
  • Dateien oder Ordner umbenennen: Klicken Sie in einer Zeile auf das Icon Umbenennen, um die Datei bzw. den Ordner umzubenennen.
  • Dateien oder Ordner herunterladen: Laden Sie bestimmte Dateien oder Ordner herunter, indem Sie in ihrer Zeile auf das Icon Download klicken. Mit dem Button Alle herunterladen können Sie alles, das heißt den gesamten Workspace, herunterladen.
  • Dateien hochladen: Laden Sie eine Datei in den aktuellen Speicherort hoch, indem Sie auf den Button Datei hochladen klicken. Wenn Sie eine ZIP-Datei hochladen, wird sie automatisch am Zielort entpackt.
  • Datei erstellen: Klicken Sie auf den Button Neue Datei und geben Sie einen Namen mit einer Erweiterung ein, um eine neue Datei am aktuellen Speicherort zu erstellen.
  • Verzeichnis erstellen: Klicken Sie auf den Button Neues Verzeichnis und geben Sie einen Namen ein, um ein neues Verzeichnis am aktuellen Speicherort zu erstellen.
  • Datei oder Ordner löschen: Klicken Sie in einer Zeile auf das Icon Löschen, um die Datei bzw. den Ordner aus dem Workspace zu löschen.
hinweis

Mit dem Icon Aktualisieren neben dem Pfad können Sie den Workspace neu laden, z. B. wenn Dateien direkt auf dem Dateisystem geändert werden.

Nachverfolgen der Task-Ausführung

Die Tabelle Tasks zeigt eine List aller Tasks mit ihrem aktuellen Status und der nächsten Ausführung. Sie können im Tab Ausführungsdetails der Task-Details zusätzliche Informationen erhalten:

  • Planung: Zeigt die Konfiguration der nächsten geplanten Ausführung.
  • Konfiguration: Zeigt die Konfiguration der aktuellen / letzten Ausführung.
  • Metriken: Zeigt die Metriken der aktuellen / letzten Ausführung. Nur verfügbar, wenn Metriken sammeln in der Task-Konfiguration ausgewählt ist.
  • Performance: Zeigt die Performance der aktuellen / letzten Ausführung. Nur verfügbar, wenn Performance der Schritte erfassen in der Task-Konfiguration ausgewählt ist.
  • Ergebnis: Zeigt die Ergebnisse der letzten Ausführung.
  • Logs: Zeigt die Log-Meldungen der aktuellen / letzten Ausführung entsprechend des in der Task-Konfiguration ausgewählten Log-Levels.

Alle Daten werden im Roh-JSON- oder Textformat dargestellt.

Erweiterte Aufgaben

Verbinden mit externen Datenbanken

Sie können in Transformationen und Jobs Verbindungen zu externen Datenbanken herstellen. Gehen Sie folgendermaßen vor, um solche Verbindungen zu ermöglichen:

  1. Definieren Sie die Datenbankverbindung in Pentaho Data Integration.
  2. Speichern Sie die Datei jdbc.properties aus dem Ordner simple-jndi von Pentaho Data Integration im ETL-Workspace.
  3. Speichern Sie die benötigten Treiber im Pfad, der in application.libs.directory in der Datei etlRunnerApplication.properties definiert ist.
  4. Fügen Sie Einträge mit den Treibernamen und Checksummen zur Datei etlRunnerApplication.properties hinzu. Syntax: application.libs.checksums.{Dateiname}={sha1-Checksumme}.
info

Einträge für die Treiber der von ConSol CM unterstützten Datenbanken sind in der Standardkonfiguration vorhanden. ETL Runner muss zur Laufzeit Zugriff auf die Datenbank-URL haben.

Hinzufügen zusätzlicher PDI-Plugins

Wenn Ihre Transformationen und Jobs PDI-Plugins enthalten, die nicht zu den häufig verwendeten Standard-Plugins gehören, müssen Sie diese Plugins manuell hinzufügen, um diese Transformationen und Jobs auszuführen. Gehen Sie folgendermaßen vor, um zusätzliche Plugins zu aktivieren:

  1. Erstellen Sie ein Verzeichnis plugin und konfigurieren Sie den Pfad in der Datei etlRunnerApplication.properties, indem Sie folgende Zeile hinzufügen:
application.plugins.directory=/etl-runner/plugins
  1. Wenn ETL Runner auf dem Applikationsserver installiert ist, fügen Sie folgende Zeile zum Startbefehl des Applikationsservers hinzu:
--add-opens java.base/sun.net.www.protocol.jar=ALL-UNNAMED
  1. Kopieren Sie das gewünschte Plugin aus der Pentaho Data Integration-Distribution (z. B. ${pentaho}/data-integration/plugins/${plugin}) in das Verzeichnis /etl-runner/plugins/${plugin}.
  2. Starten Sie ETL Runner neu, um die Änderungen anzuwenden.
info

Bei einigen Plugins ist es möglicherweise erforderlich, zusätzliche Abhängigkeiten in das Verzeichnis /etl-runner/plugins/${plugin}/lib zu kopieren.