Apache Flink 1.2が発表された。ダイナミックリスケーリング,セキュリティ,Queryable Stateなどを備える。リリースでは650件の問題点が解決され,公開APIの互換性が維持されるとともに,Apache Kafka 0.10が同梱され,Apache Mesosがサポートされる。
Flinkのダイナミックリスケーリングでは,ストリーミングジョブやジョブ内のオペレータの並行度を変更することが可能だ。この機能は,セーブポイントのジョブをさまざまな並列度を使用して復元することにより、スケールアップおよびスケールダウンによるストリーミングパイプラインの運用管理機能を向上すると同時に、ダウンタイムを数秒にまで最小化する。現時点ではKafkaコンシューマやWindows オペレーション、ユーザによるカスタムステータスがサポートされている。
セキュリティでは、Kerberosを使った認証サポートが外部サービスに対して追加された。対象となるのはZookeeper、Kafka、HDFS、YARNの認証サポートだ。Flinkエグゼキュータ間で転送されるメッセージを暗号化するために、ネットワークを経由するSSLベースの通信も、試験的に導入されている。
試験的な機能のQueryable Stateは、オペレータがキーを付けたステートをAPI経由で公開するもので、データストア内に状態を記述することなく、ストリーミングパイプラインのビートを検出する手段として有用だ。状態の問い合わせは、スレッドセーフかつ非同期なQueryableStateClientを使用して行うことができる。また、オペレータ実装およびクライアントの両方において状態対処のシリアライズを処理するいくつかのユーティリティも同時に提供される。
データソースおよびデータシンクとして、Apache Kafka 0.10のサポートも導入された。Kafka 0.10コネクタは、Flinkの内部イベント時間でメッセージのコンシュームとプロデュースを行うことができる。KafkaのコンシューマはKafkaのメッセージのタイムスタンプをイベント時間とするレコードを発行することが可能だが、‘時間’を進めるためのウォーターマークの発行はできない。
デプロイメントのオプションとしてApache Mesosも追加された。FlinkはDC/OSデプロイメントもサポートする。高可用性Flinkクラスタの運用には、オーケストレーションプラットフォームとしてMarathonの利用も可能だ - MarathonはFlinkの全タスクをMesosのタスクとしてクラスタ上で実行し、Flinkマスタがフェールすれば、新たなものをスタートさせる。ステータス(実行タスク)の記録と回復はZookeeperによって行われる。
Table APIも改良された。ウィンドウアグリゲーションとしては、タンブリングウィンドウ、スライディングウィンドウ、セッション(ギャップ)ウィンドウの3つのモードがサポートされている。いずれのモードでも、イベント時間およびプロセス時間によるウィンドウ処理がサポートされる。さらにタンブリングとスライディングでは、行数をベースとしたウィンドウ処理も可能だ。FlinkのTable APIとSQLでは、試験的機能としてPOJOフィールドへのアクセスが導入されると同時に、組み込み関数のリストも拡大された。
この記事を評価
- 編集者評
- 編集長アクション