ストリーム処理フレームワーク「Apache Flink 1.4」リリース

 ストリーム処理フレームワーク「Apache Flink」開発チームは12月12日、最新版「Apache Flink 1.4.0」を公開した。Apache KafkaのExactly Onceのサポート、依存性構造の強化などが特徴となる。

 Apache Flinkはオープンソースの分散ストリーム処理プラットフォーム。高い性能、可用性、精度を特徴とし、拡張性、フォールトトレラントなどの機能を備える。

 Apache Flink 1.4は2016年5年に公開された1.0系の最新のリリース。1.3リリースから900以上のイシューを解決したという。

 Apache Kafka 0.11向けのExactly Once Producerを導入した。Exactly Onceはメッセージを一度のみやりとりする仕組みで、Kafkaを使ってFlinkアプリケーションを構築する開発者を、コンシュームからプロデュースまでエンドツーエンドで支援するとしている。また、KafkaのExactly Onceアプリケーションでよく使われるパターンを抽出したTwoPhaseCommitSinkFunctionクラスも用意する。

 Flink SQLも強化し、データ管理フレームワークApache Calcite 1.14をベースとした。処理時間とイベント時間をベースとしたWindowed Joinをサポート、これにより2種類のストリーミングテーブル間でのJoinの実行とウィンドウ処理結果のコンピューティングを2種類の時間コンセプトに合わせて行うことができる。このほかINSERT INTO SELECTクエリのサポート、Table APIでのストリーミングテーブルの集合のサポートなどが加わり、新しいテーブルAPI、Apache Kafka 0.11やJDBC SinkなどSQLソースもサポートした。

 依存性構造を強化しAvro依存性を削除したほか、ASM、Guava、Jackson、Netty、Apache Zookeeperなどで依存性とランライムの衝突にフォーカスした変更を加えた。これにより安定性を強化し、組み込み時の衝突を緩和できるという。Apache Hadoop依存性のないユーザーはHadoopなしでFlinkを利用できるようになった。また、ユーザーコードの動的なクラスローディングでは、デフォルトで子が先のリバースモードを採用、コアフレームワークに含まれる依存性以外のものも利用できるようになった。

 Blobストレージ構造の導入によってAkka Framesizeを上回るメッセージのサポートが可能になった。また、モニタリングとレポーティングでPrometheusがサポートされた。

 このほかにも多数の強化が加わっている。

Apache Flink
https://flink.apache.org/