Apache Beam ロードマップ

Apache Beamは、特定の営利団体によって統治または操縦されるのではなく、プロジェクト管理委員会(PMC)によって統治されているため、具体的なタイムラインのある計画という意味でのロードマップはありません。代わりに、今後のビジョンと、ユーザーが期待できる主要なイニシアチブ、および関心と貢献を共有します。

Beamの主要コンポーネントには、それぞれ独自のロードマップがあり、メニューから確認できます。以下は、プロジェクト全体としてのいくつかのハイライトです。

ポータビリティフレームワーク

ポータビリティは、Beamの主要なビジョンです。それは、任意のSDKで作成されたパイプラインを任意のランナーで実行することです。これは、Java、Python、Go、およびすべてのBeamランナーにまたがる取り組みです。ポータビリティは現在、FlinkSpark、およびPrismランナーでサポートされています。

ポータビリティロードマップの詳細をご覧ください

クロスランゲージ変換

ポータビリティの取り組みの利点として、SDK間でBeam変換を利用できます。例としては、PythonまたはGoのパイプラインからJavaコネクタとBeam SQLを使用したり、JavaおよびGoからBeam TFX変換を使用したりすることが挙げられます。詳細については、マルチSDKの取り組みのロードマップを参照してください。

Go SDK

Go SDKは最新のSDKであり、ポータビリティフレームワーク上に完全に構築された最初のSDKです。ご興味があれば、Go SDKのロードマップをご覧ください。

Python 3 のサポート

Apache Beam 2.14.0以降では、Python 3.5、3.6、および3.7がサポートされています。Python 3ユーザーのエクスペリエンスを改善し続け、Python 2のサポートを段階的に廃止する予定です(BEAM-8371)。

Python SDKのロードマップで詳細をご覧ください。

Java 17 のサポート

Java SDKは、Javaの次のLTS(長期サポート)バージョンのサポートを追加することに熱心です。Java SDKのロードマップで詳細をご覧ください。

SQL

BeamのSQLモジュールは急速に成熟しており、ユーザーがSQLのみを使用してバッチおよびストリーミングパイプラインを作成できるようにするだけでなく、Beam Java開発者がパイプラインのコンポーネントでSQLを使用できるようにして効率を向上させます。Beam SQLロードマップを参照してください

ポータブルスキーマ

スキーマを使用すると、SDKとランナーはユーザーデータの構造を理解し、リレーショナル最適化の可能性を解き放つことができます。ポータブルスキーマは、PythonとJavaの行間の互換性を可能にします。特に興味深いユースケースは、Beamのクロスランゲージサポートを介した、SQL(Javaで実装)とPython SDKの組み合わせです。このプレゼンテーションでポータブルスキーマの詳細をご覧ください。

Euphoria

Euphoriaは、Beamの最新のAPIであり、Beam Java開発者向けに高レベルのfluentスタイルを提供します。Euphoria APIロードマップを参照してください。