「Apache Beam とその実行エンジンの抽象化は、私たちにとって非常に重要なものです。これにより、作業量が大幅に削減されます。Dataflow や Spark のサポートをすべて自力で構築するのは難しいでしょう。このテクノロジーが存在すること自体が本当に素晴らしいのです!基盤となるすべてのプラットフォームを気にする必要がないというのは、非常に大きなことです!」

Matt Casters
Neo4j チーフソリューションアーキテクト、Apache Hop 共同創設者

Apache Hop を使用したビジュアル Apache Beam パイプラインの設計とオーケストレーション

背景

Apache Hop は、ビジュアルパイプライン開発環境によるデータ処理のあらゆる側面を容易にすることを目的とした、オープンソースのデータオーケストレーションおよびデータエンジニアリングプラットフォームです。この使いやすく、高速で柔軟なプラットフォームにより、開発者は Hop GUI で Apache Beam バッチおよびストリーミングパイプラインを作成および管理できます。Apache Hop は、メタデータとカーネルを使用してデータの処理方法を記述し、Apache Beam を使用して「一度設計すれば、どこでも実行できる」ようにします。

Neo4j のチーフソリューションアーキテクトである Matt Casters 氏は、Apache Beam とその実行エンジンの抽象化の早期導入者です。Matt は長年にわたり Apache オープンソースコミュニティのアクティブなメンバーであり、Apache Beam を実行エンジンとして活用して Apache Hop を構築しました。

Apache Hop プロジェクト

世界中で Apache Beam の人気が高まり、ユーザー数が増加していることに触発され、Matt Casters は抽象化のアイデアをビジュアルパイプラインのライフサイクル管理と開発にまで拡大しました。Matt は Apache Hop プロジェクトを共同設立し、インキュベートし、2021 年 12 月に Apache Software Foundation でトップレベルのプロジェクトになりました。このプラットフォームにより、あらゆるスキルレベルのユーザーが、コードを記述することなく強力なデータワークフローを構築、テスト、起動、およびデプロイできます。Apache Hop の直感的なドラッグアンドドロップインターフェースは、Apache Beam パイプラインを視覚的に表現し、パイプラインの設計、実行、プレビュー、監視、およびデバッグを簡素化します。

私は最初から Beam の大ファンでした。Apache Beam は現在、Apache Hop プロジェクトの非常に重要な一部です。

Matt Casters
Neo4j チーフソリューションアーキテクト、
Apache Hop 共同創設者

Apache Hop GUI を使用すると、データ専門家は視覚的に作業でき、Apache Beam パイプラインをどのように処理するかを記述するメタデータを使用して、「どのように」ではなく「何を」行う必要があるかに集中できます。Apache Hop の トランスフォームに依存しない アクションプラグイン (「hops」) がトランスフォームをリンクして、パイプラインを作成します。 SparkFlinkDataflowDirect ランナーなどのさまざまな Apache Beam ランナーは、Apache Hop の メタデータプロバイダー および ワークフローエンジン(プラグイン) の助けを借りてメタデータを読み取り、パイプラインを実行します。

Apache Hop の 最も人気のあるテクノロジーNeo4j など)向けのカスタムプラグインとメタデータオブジェクトにより、ユーザーは Apache Beam パイプライン内でデータベースおよびテクノロジー固有のトランスフォームを実行できます。これにより、ネイティブに最適化された接続と柔軟な Apache Beam パイプライン構成が可能になります。たとえば、Apache Hop の Neo4j プラグイン は、Apache Beam パイプラインのロギングと実行系統を Neo4j グラフデータベースに保存し、ユーザーはエラーが発生した場所にすばやくジャンプするなど、詳細についてこの情報をクエリできます。Apache Hop のトランスフォーム、 Apache Beam の組み込み I/O 、および Apache Beam を利用したデータ処理の組み合わせは、より多くのシンクとソース、およびカスタムユースケースの新しい可能性を切り開きます。

Apache Hop は、Apache Beam データパイプラインにノーコードアプローチをもたらすことを目指しています。特定のプログラミング言語、フレームワーク、またはエンジンの選択は、開発者の好みに左右されることがあり、その結果、企業は特定のテクノロジースキルセットとスタックに縛られることになります。Apache Hop は、完全にプラグイン可能なランタイムサポートで I/O を抽象化し、Apache Beam パイプラインの上にグラフィックユーザーインターフェイスを提供することで、この依存関係を解消します。パイプライン要素のすべての設定は、Hop のビジュアルエディターで一度だけ実行され、パイプラインは JSON および CSV 形式のメタデータとして自動的に記述されます。データパイプラインのソースコードのプログラミングは、必須ではなくオプションになります。Apache Hop はパイプラインを作成するために特定のプログラミング言語の知識を必要とせず、Apache Beam 統合ストリーミングおよびバッチ処理テクノロジーの採用を支援します。

一般的に、ビジュアルパイプライン設計インターフェースは、開発者ではないユーザーにとって非常に価値があります。セットアップコスト、メンテナンスコストの削減、ROI の向上、および時間の経過に伴う投資の保護に関して、私たちは組織の側を明確に選択します。

Matt Casters
Neo4j チーフソリューションアーキテクト、
Apache Hop 共同創設者

結果

Apache Beam は、サポートするユースケースとシナリオの数を継続的に拡大しており、高度なテクノロジーソリューションを現実化することを可能にしています。Apache Beam とその強力な抽象化の早期導入者である Matt Casters は、この知識と経験を活用して Apache Hop を作成しました。このプラットフォームは、ビジュアルパイプライン開発とライフサイクル管理を可能にすることで、Apache Beam ユーザーに付加価値を提供します。

Matt は、Apache Beam を Apache Hop の基盤および原動力と捉えています。Apache Beam と Apache Hop プロジェクト間のコミュニケーションは、共同創造を促進し続け、両方の製品を新機能で強化しています。

Apache Hop プロジェクトは、Apache オープンソースコミュニティによって推進され、協調的な組織によって増幅された継続的な改善の例です。

知識の共有とコラボレーションは、コミュニティで自然に行われるものです。改善の余地があると思われる場合は、アイデアを交換し、このようにして Apache Beam と Apache Hop プロジェクトを前進させ続けます。私たちは協力して、最も複雑な問題に取り組み、解決することができます。

Matt Casters
Neo4j チーフソリューションアーキテクト、
Apache Hop 共同創設者

この情報は役に立ちましたか?