2017-10-10 33 views
1

現在Apache-CamelETLに使用しています。つまり、さまざまなデータベースから毎日、毎週または毎月のエクスポートを行い、必要なアクションを実行し、他のデータベースが取り込むために結果をどこかに公開します。Apache CamelとApache Airflowのオーバーラップはどのようになっていますか?

最近、私はApache-Airflowの話を見ました。それは私にはキャメルがもっと簡単にやっている仕事をすることができるようです。簡単には、自己文書化がより容易になり、維持管理が容易になるようです。私は正しいですか?そしてなぜ2つの間に比較がないのですか?Camel and Muleの間にあるように?

答えて

3

あなたが解決しようとしている問題の種類によって異なります。 Apache Camelは、周知の受け入れられたエンタープライズ統合パターンを実装して、well known problemsのタイプに特定のソリューションを提供するエンタープライズ統合フレームワークです。

Apache Airflowはこれらの統合パターンを実装していないため、これらの特定の種類の問題の解決にはあまり役に立ちません。

Camelでの私の経験から、エンタープライズ統合以外の問題を解決するための汎用プラットフォームとして誤用されることが多く、フレームワークの不要なオーバーヘッドや制約に対処しています。

ETLの問題を例として、Camelのような統合ソリューションを使用することで恩恵を受けられるデータのMessage RoutingまたはMessage Transformationのフォームを実行しない限り、Apache Camelは不要と思われます。 Apache Camelがこれらのよく知られている統合の問題を解決するソリューションは、Apache Camelを別のツールで使用するか、手作業で行うことの本当のメリットです。

TLDR;あなたの質問に答えるために、Apache Camelは特定のタイプの統合問題を解決するためのエンタープライズ統合フレームワークであり、Apache Airflowはそうではありません。それはおそらく、2つの間の比較がない - 彼らはある意味ではリンゴとオレンジです。

両方で同じことをすることはできますが、Apache Camelには、Airflowにはない複雑な統合ソリューションも用意されています。

+0

ケーキを焼いているとき、リンゴとオレンジはまったく違うものですが、ランチボックスにこだわってほしいものがほしいと思うときは、かなり互換性があります。キャメルとエアフローの両方でETLを行うことができます。キャメルには、私たちの仕事には適用されない多くの機能があり、もっと適切なツールを使用すると、私たちが経験している問題の一部が浮かび上がる可能性があることを理解しています。私はこれを答えに入れようとしました。 – Ivana

+0

私の個人的な意見は、それがなくても時間と苦痛の4分の1(JMS、SFTP、JDBC、HTTP、SOAP、ファイルハンドリング)で行うことができる単純なことを行う際に、頭痛や欲求不満を必要としない限り、 、など)。エンタープライズ・キャメル使用の2年間からの私の$ .02。上記の項目にCamelを使用する前に、他の図書館を選択します(または手で転がすこともできます)。堅牢な単体テストのカバレッジが必要な場合は、テストの「ルート」を単体テストする方法とキャメルのクルークを処理する方法を理解していない限り避けてください。 –

+0

Javaとうまく機能し、プラットフォームに依存しないETLの一部として、ファイル処理に対する最も簡単なアプローチは、あなたの意見ではどうでしょうか? – Ivana

1

Apache CamelとApache Airflowは異なる目的で作成されています。前者はエンタープライズ統合フレームワーク、後者はワークフローをプログラムで作成、スケジュール、監視するためのプラットフォームであり、これが一般的には比較されていない理由です。 ETLには、運用DBとデータウェアハウスを統合したプロセスと考えて、ETLデータ処理プロセスの各ステップをメッセージとして考えることができます。

「気流」に変更した場合、今やっている作業を簡単に実行できますか?さて、フレームワークが特定の企業のニーズにどれほど適しているかは、物事が現場にどのように設定されているかによって決まります。私たちの場合、私たちはJavaを選択しました。プロセスをWindowsマシンとLinuxで実行したいと考えています。

  • Camelの主な利点は、すでにJavaを使用していることです。また、Springブートの自動構成もあります。 主な欠点は、維持するのが難しいことです。いつ、何が起こるのかを正確に理解することは難しいです。これはCamelがEnterprise Integration Frameworkとして持っている機能に直接起因するものではありませんが、ワークフローを簡素化するために調整されていないためです。
  • 気流は、相互依存的なジョブのスケジューリングを念頭に置いて書かれています。このタスクを簡略化するGUIもあります。 私たちのためには、追加のインストールが必要で、Java-wittenのジョブをすぐに使えないかもしれません(私は、call javaがPythonから可能であることを知っていますが、

私のニーズに合わせて、私は他のオプションを探求して、ちょうどそれらをそのまま残すことにします。

関連する問題