表面上はTalendのようなETLツールに適しているように見える小さなプロジェクトがあるとします。
しかし、Talendを一度も使用したことがなく、さらに、一般的に「ビジュアルプログラミング」ツールを信頼しておらず、適切な言語とサポートの助けを借りて、すべてを昔ながらの方法でコーディングしたいと考えているとします (テキストは優れた IDE で!)。ライブラリ。
ETL ツールの誘惑や罠を回避するのに役立つ言語パターンとサポート ライブラリは何ですか?
成果物がプロセッサであるか、出力自体であるかによって異なります。出力を配信するだけであれば、コードを維持する必要はありません。コードを保守する必要がある場合、それを保守するのはあなたですか、それとも他の誰かですか?
他の誰かが維持する必要がある場合は、Java を使用するか、Talend を提供します。
それが使い捨てのコードである場合は、プログラミングがより簡単で楽しいものを使用します。
それを維持する必要があり、処理が複雑な場合は、Scala を使用します。それは持っています:
Check out DataExpress. It's a Scala-based, cross-database ETL toolkit.
I used to think that "visual programming" is something for people who can't program. Then I was exposed to Talend in a project, and I realized that this type of tool is exactly right for the job, when it comes to moving data from A to B, and transforming it in the process. It's component-oriented software design, by a more academic label.
I still consider myself a decent programmer who can do anything, and then some, with a text editor and a shell prompt. But I've become a big fan of Talend as well.
Full disclosure: I now work for the company :-)
これは、Groovy の Grails や Scala の Lift など、Rails にインスパイアされたフレームワークに非常に適していると思います。
DB スキーマのサイズに応じて、Hibernate ですべてを非常に迅速にマップし、結果のオブジェクト モデルを使用して作業を行うことができます (とにかく、ETL ツールに何を求めているかによって異なります)。