Java ETL: schwer, einen geeigneten zu finden

Ich bin auf der Suche nach einem einbettbaren Java ETL, d.h., ein Extract Transform Load engine, die aufgerufen werden können, die aus Java-code.

Mir fällt es überraschend schwer zu finden, ein passender.

Ich bin hauptsächlich auf der Suche zu be-getrennte text-Dateien in Datenbank-Tabellen, mit einigen geringfügigen Transformationen auf dem Weg.

Möchte ich die folgenden Besonderheiten:

  • die Fähigkeit zu geben, die einfache mappings extern, e.g -, text-Spalte 5-Spalte in der Datenbank foo, angegebenen xml-mapping-Datei
  • die Möglichkeit zu geben, die die Datenbank-Knoten wird ein javax.sql.Datasource

CloverETL ermöglicht mapping werden in XML spezifiziert, aber Datenbank-verbindungen müssen entweder JNDI-Namen oder eine properties-Datei angeben treiberklasse, die url dbusername, Passwort, etc. Da ich schon javax.sql.Datasources durch meine dependency injection-framework, properties-Dateien scheinen schmerzhaften und nicht-robuste, besonders wenn ich will, dass das arbeiten in verschiedenen Umgebungen (dev, test, prod).

KETL sagt mir, dass "Wir sind derzeit in den Prozess der komplette überholung unserer Dokumentation für KETL™. Weil dieses, nur die Installations-Anleitung wurde aktualisiert." Ehrlich, aber nicht hilfreich.

Octopus ist jetzt "http://www.together.at/prod/database/tdt", die ist "under construction".

Pentaho scheint die gleichen "angeben treiberklasse" - Stil, die CloverETL tut, sondern vielmehr, dass die Verwendung einer datasource, aber Pentaho Sie in der Dokumentation für den Aufruf Ihrer engine von java-code ist nur schwer zu finden.

Grundsätzlich würde ich wirklich gerne in der Lage sein, dies zu tun, pseudo-code:

extractTransformLoad(         
        getInputFile( "input.csv" ) , 
        getXMLMapping( "myMappingFile.xml") ,
        new DatabaseWriter( getDatasource() );

Irgendwelche Vorschläge?

InformationsquelleAutor der Frage tpdi | 2010-11-22

Schreibe einen Kommentar