Flowman ist ein von dimajix entwickeltes Open Source Projekt, das Ihr Unternehmen bei der Entwicklung von ETL Jobs auf Basis von Apache Spark unterstützt. Kerngedanke von Flowman ist, den Datenfluss rein deklarativ anzugeben, und diesen dann von einer flexiblen Spark-Applikation (eben Flowman) ausführen zu lassen.
Mit diesem Ansatz trennen Sie sauber die Business Logik von all den technischen Details, die für einen produktiven Betrieb notwendig sind. Sie können sich somit auf die Business-Logik konzentrieren, während Flowman sich als ausgereifte Spark-Applikation um die technischen Details kümmert um eine stabile Ausführung sicherzustellen. Dazu gehören der Export von relevanten Metriken für Monitoring, ein einheitliches Logging, die Unterstützung von sauberen Reruns und vieles mehr.
Die Datenflüsse selbst sind in YAML Dateien abgespeichert, und können im Unterschied zu klassischem Scala/Java-Code auch von einem Business-Experten mit nur kurzer Einarbeitung nachvollzogen werden. Auf diese Weise können Sie das vorhandene Expertenwissen stärker in die Entwicklung mit einbeziehen um somit frühzeitig fachliche Fehler zu entdecken.