本ドキュメントでは、2024年5月29日にリリースされた Realtime Compute for Apache Flink のバージョンの主な機能更新とバグ修正について説明します。
このアップグレードは、カナリアリリース方式で、すべてのリージョンに段階的に展開されます。特定のアップグレードスケジュールについては、Realtime Compute for Apache Flink コンソールの右側にある最新のお知らせをご参照ください。新機能が利用できない場合、アップグレードはまだお客様のアカウントに適用されていません。アップグレードの前倒しをご希望の場合は、チケットを送信してください。ご要望に応じて対応いたします。
概要
2024年5月29日、Realtime Compute for Apache Flink の新バージョンが正式にリリースされました。このリリースには、プラットフォームの更新、エンジンの更新、コネクタの更新、パフォーマンスの最適化、バグ修正が含まれています。
プラットフォームの更新
このリリースのプラットフォーム更新は、システムの安定性、運用能力、およびユーザビリティの向上に重点を置いています。
-
名前空間を単一アベイラビリティゾーンからクロスゾーンに変換できるようになりました。これにより、新しい名前空間を作成してデプロイメントを移行する必要がなくなり、クロスゾーン高可用性を有効にする方法が大幅に簡素化されます。
-
リソース設定のエキスパートモードで、個々の演算子に対してステートの生存時間 (TTL) を設定できるようになりました。これにより、異なる演算子のステート TTL をより詳細に制御し、より少ないリソースで高い安定性を実現できます。
-
Realtime Compute for Apache Flink の Visual Studio Code 拡張機能が利用可能になりました。これにより、開発、デプロイメントから本番稼働まで、Flink デプロイメントのエンドツーエンドのローカル開発ワークフローがサポートされます。また、オンライン環境からデプロイメントを迅速に同期することもできます。
さらに、データリネージと [デプロイメント] ページもさらに最適化されました。
エンジンの更新
このリリースでは、Apache Flink 1.17.2 をベースにしたエンタープライズグレードの Flink エンジンである Ververica Runtime (VVR) 8.0.7 が正式に導入されました。主な変更点は次のとおりです:
-
リアルタイムレイクハウス: Apache Paimon コネクタ SDK がアップグレードされ、Apache Paimon 0.9 のデータレイクフォーマットをサポートするようになりました。
-
SQL の機能強化: ステートの生存時間 (TTL) ヒントを使用して、通常結合およびグループ集約演算子に個別の TTL を設定できるようになり、ステートサイズをより正確に制御できます。ユーザー定義関数 (UDF) の名前付きパラメーターのサポートにより、開発効率が向上し、メンテナンスコストが削減されます。
-
コネクタ: MongoDB コネクタが一般提供 (GA) となり、本番環境での使用が可能になりました。変更データキャプチャ (CDC) ソーステーブル、ディメンションテーブル、および結果テーブルの全機能を提供します。このリリースには、MySQL CDC および Redis コネクタの大幅な機能強化も含まれています:
-
MySQL CDC:
-
op_type仮想カラムがサポートされ、変更記録のデータ操作タイプ (+I, +/-U, -D) を取得できるようになりました。これにより、特定の操作タイプに基づいてビジネスロジックやデータクリーンアップ戦略を設計できます。 -
DECIMAL型のプライマリキーを持つ MySQL テーブルの読み取りパフォーマンスが最適化されました。さらに、大規模テーブルのSourceRecord(データ変更記録) の処理が並列化され、効率が向上しました。 -
ソースの再利用機能が導入されました。有効にすると、Flink は、データベース名、テーブル名、および
server-idを除く設定が同一である、同じデプロイメント内の MySQL CDC ソーステーブルをマージしようとします。これにより、MySQL サーバーへの接続とリスニングの負荷が軽減されます。 -
sink.ignore-null-when-updateパラメーターが有効な場合、バッファリング実行により処理パフォーマンスが数倍向上します。
-
-
Redis: Redis が、キーのデータ型が
HashMapであるディメンションテーブルおよび結果テーブルとして使用される場合、可読性を向上させるために、非プライマリキーに対して複数の DDL フォーマットがサポートされるようになりました。また、データガバナンス要件を満たすために、キープレフィックスとデリミタを設定することもできます。
-
-
メタデータ管理: MySQL ビューはデータを格納しない論理構造であるため、データエラーを防ぐために、新しく作成された MySQL カタログではビュー情報が表示されなくなりました。
-
セキュリティ: Kerberos が有効な Hive クラスターの互換性が Hadoop 2.x バージョンに拡張されました。さらに、コネクタ設定などの機密情報がログでマスクされるようになりました。
このバージョンの主な機能とその関連ドキュメントの詳細については、以下の表をご参照ください。アップグレードは段階的に展開されます。ご利用のアカウントでアップグレードが完了したら、デプロイメントのエンジンをこのバージョンにアップグレードすることを推奨します。手順については、「デプロイメントのエンジンバージョンをアップグレードする」をご参照ください。皆様からのフィードバックをお待ちしております。
主な機能
|
機能 |
説明 |
関連ドキュメント |
|
クロスゾーン高可用性の強化 |
名前空間を単一アベイラビリティゾーンとクロスアベイラビリティゾーンのタイプ間で切り替えられるようになりました。 |
|
|
データリネージの強化 |
フィールドレベルのデータリネージで、フィールド名による検索がサポートされるようになりました。複数の結果が見つかった場合、上下の矢印キーを使用して結果を切り替えることができ、フィールドリネージ情報の特定と表示が容易になります。 |
|
|
[デプロイメント] ページに [作成者] 列を追加 |
[デプロイメント] ページで、右側の
|
N/A |
|
権限管理の強化 |
デフォルトでは、ワークスペースを作成した ID (Alibaba Cloud アカウント、RAM ユーザー、RAM ロールなど) には、その中のすべての名前空間に対する所有者ロールが付与されます。 |
|
|
SQL デプロイメントのステートフル起動におけるステート互換性チェックの強化 |
最新のステートからデプロイメントを起動すると、Flink システムは変更を検出します。変更が検出された場合、[ステートの互換性] の横にある [クリックして検出] をクリックして互換性をチェックし、結果に基づいて次のアクションを決定することを推奨します。 |
|
|
ローカル開発用の VS Code 拡張機能 |
新しい拡張機能は、Flink デプロイメントのエンドツーエンドのローカル開発ワークフローを提供します。SQL、JAR、および Python デプロイメントをローカルで簡単に開発、デプロイ、起動するのに役立ちます。また、オンライン環境からデプロイメントを迅速に同期することもできます。 |
|
|
演算子レベルのステート TTL |
一部の演算子のみが長いステートの生存時間 (TTL) を必要とするシナリオでは、デプロイメント全体に単一の TTL を設定すると、ステートの肥大化とリソースの無駄遣いにつながる可能性があります。次のいずれかの方法を使用して、演算子レベルの TTL を設定し、ステートサイズをより正確に制御し、大規模なステートを持つデプロイメントのリソースを節約できるようになりました:
|
|
|
UDF の名前付きパラメーターのサポート |
開発効率を向上させ、メンテナンスコストを削減します。 |
|
|
MySQL CDC コネクタの強化 |
|
|
|
Redis コネクタの強化 |
|
|
|
ApsaraMQ for RocketMQ のバッファリング読み取り |
この機能は、処理効率を向上させ、リソースコストを削減します。 |
|
|
MySQL カタログでのビューのサポート終了 |
MySQL ビューは論理構造であり、データを格納しないため、新しく作成された MySQL カタログではビュー情報が表示されなくなりました。 |
|
|
Kerberos 化された Hive クラスターのサポート強化 |
Kerberos が有効な Hive クラスターの互換性が Hadoop 2.x に拡張されました。 |
|
|
Iceberg コネクタ SDK のアップグレード |
Apache Iceberg 1.5 の読み取りと書き込みをサポートします。 |
修正された問題
-
Ververica Runtime (VVR) バージョン 8.0.5 および 8.0.6 の Hologres コネクタで、
WHERE句のプッシュダウンによって引き起こされるデータ正確性の問題を修正しました。 -
Simple Log Service (SLS) ソーステーブルがコンシューマオフセットでデータのコミットを続けたために、フェールオーバー中に発生した SLS コネクタのデータ損失問題を修正しました。
-
TTL が設定された
MapStateと一緒に使用された場合に、ValueState自体には TTL が設定されていないにもかかわらず、そのステートが失われる問題を修正しました。 -
動的な複雑なイベント処理 (CEP) における
WithinType.PREVIOUS_AND_CURRENTのデシリアライゼーション結果の不一致を修正しました。 -
コンソールのモニタリングページと Flink UI の間の
currentEmitEventTimeLagメトリックの不一致を修正しました。 -
Apache Flink 1.17.2 のすべての問題を修正しました。詳細については、「Apache Flink 1.17.2 リリースのお知らせ」をご参照ください。