Flexibles Laden von Flatfiles und dynamische Ermittlung des Dateinamens zur Laufzeit des ETL-Prozesses

Wer unter anderem Datenbewirtschaftung (ETL) mit Informatica PowerCenter betreibt, hat bestimmt schon mindestens einmal vor dem Problem gestanden, dass auch im Zuge (täglicher) Routineverarbeitungen Flatfiles mit nicht gleichbleibendem Namen eingelesen und verarbeitet werden mussten. Verschärft wurde das Problem vielleicht noch dadurch, dass die Anzahl der zu verarbeitenden Files nicht zwangsweise vorher bekannt war und der jeweilige Dateiname außerdem auch noch im Target (File oder Datenbanktabelle) protokolliert werden musste, ein Problem, das typischerweise beim Datawarehousing auftritt.

So enthalten Dateinamen bspw. oftmals einen Zeitstempel, entsprechend der Zeit der Dateierstellung oder ‑Lieferung oder einer anderen Bezugszeit. Gelegentlich müssen zusätzlich zu den Standard-Daten auch Korrekturdaten eingelesen und verarbeitet werden, d.h. es sind weitere Dateien mit nicht vorhersehbaren Dateinamen zu berücksichtigen.

Bis zur Version 8.4 hat Informatica PowerCenter zur Lösung dieser Probleme nicht viel an Unterstützung angeboten. Der Name des zu verarbeitenden Files musste zur Implementierungszeit des ETL-Prozesses festgelegt oder über ein Parameterfile eingestellt werden; damit stand auch die Anzahl der Eingabedateien von vorneherein fest. (Allerdings bestand dadurch auch keine Notwendigkeit mehr, den Dateinamen zur Laufzeit dynamisch ermitteln zu müssen.)

Für den Fall, dass mehrere Files mit nicht feststehenden Dateinamen verarbeitet werden sollten, musste in einem solchen Fall eine Vorverarbeitung zum eigentlichen ETL-Prozess eingerichtet werden, bestehend aus teilweise durchaus aufwändigen Shell- oder anderen Skripten zur Steuerung der flexiblen Datei-Vorbereitung (Abbildung auf den zum Beginn des ETL-Prozesslaufs fix eingestellten Dateinamen); eine dynamische Ermittlung des Dateinamens innerhalb des ETL-Prozesses, also zur Laufzeit, war dadurch jedoch immer noch nicht möglich.

read more…

In: PowerCenterAuthor: Norbert GreifComments (0)