すべてのプロダクト
Search
ドキュメントセンター

Hologres:Flink を使用したインポート

最終更新日:Mar 21, 2026

Alibaba Cloud Realtime Compute for Apache Flink は、Apache Flink を基盤とするエンタープライズ向け高性能リアルタイムビッグデータ処理プラットフォームです。Hologres は Flink と緊密に統合されており、ストリーミングデータのリアルタイム書き込みおよびクエリが可能で、効率的にリアルタイムデータウェアハウスを構築できます。

サービスタイプ

Realtime Compute for Apache Flink はデータを保存しません。外部ストレージシステムからデータを処理し、以下のデータストレージタイプをサポートします。

  • ソーステーブル

    ソーステーブルは Flink ジョブへの入力データを提供します。Hologres テーブルをソーステーブルとして使用する場合、データはストリーミングモードではなくバッチモードでインポートされます。Hologres は全表スキャンを実行し、データをダウンストリームの送信先に送信した後、ジョブが完了します。

  • ディメンションテーブル

    ディメンションテーブルは通常、キーによるポイントルックアップに使用されます。そのため、Hologres テーブルをディメンションテーブルとして使用する場合は、行指向ストレージ(Row-oriented Storage)の利用を推奨します。JOIN 条件には、テーブルの完全なプライマリキーを使用する必要があります。

  • 結果テーブル

    結果テーブルは Flink 処理からの出力データを受信・保存します。ダウンストリームでの消費のために読み取りおよび書き込みインターフェイスを提供します。

Realtime Compute for Apache Flink は Hologres と深く統合され、以下のエンタープライズ向け高度機能を提供します。

  • Hologres バイナリログの消費

    この機能により、メッセージキュー方式で Hologres テーブルの変更ログを消費できます。

  • Flink Catalog

    Hologres のメタデータを Flink 内のカタログとしてインポートできます。これにより、テーブルを手動で登録することなく、Fully Managed Flink コンソールから直接 Hologres のメタデータを読み取ることが可能です。この機能は開発効率を向上させ、スキーマの正確性を保証します。

  • スキーマ進化

    Fully Managed Flink はスキーマ進化をサポートしています。Flink が JSON データを読み取る際、データ型を自動的に解析して対応するテーブル列を作成し、動的なデータモデル進化を実現します。

以下の表では、Hologres がサポートする Flink サービスタイプおよびその特徴について説明します。

サービスタイプ

データストレージタイプ

高度機能

説明

ソーステーブル

結果テーブル

ディメンションテーブル

Hologres バイナリログ

Flink Catalog

スキーマ進化

Semi-managed Flink

行指向ストレージおよび列指向ストレージの両方をサポートします。バイナリログソーステーブルの場合、行指向ストレージまたはハイブリッド行列表示ストレージの利用を推奨します。

行指向ストレージおよび列指向ストレージの両方をサポートします。

行指向ストレージまたはハイブリッド行列表ストレージの使用を推奨します。

対応

対応

対応

EMR Studio 開発プラットフォームを使用します。

Blink in exclusive mode(非推奨)

行指向ストレージおよび列指向ストレージの両方をサポートします。バイナリログソーステーブルの場合、行指向ストレージまたはハイブリッド行列表示ストレージの利用を推奨します。

行指向ストレージおよび列指向ストレージの両方をサポートします。

行指向ストレージまたはハイブリッド行列表示ストレージの利用を推奨します。

Hologres V0.8 では行指向ストレージのみをサポートします。Hologres V0.9 以降では、行指向および列指向ストレージの両方をサポートします。行指向ストレージの利用を推奨します。

非対応

非対応

ベイズ開発プラットフォームを使用します。

フルマネージド Flink の使用を推奨します。

Apache Flink V1.10

非対応

行指向ストレージおよび列指向ストレージの両方をサポートします。

非対応

非対応

非対応

非対応

Apache Flink V1.11 以降

非対応

行指向ストレージおよび列指向ストレージの両方をサポートします。

行指向ストレージの利用を推奨します。

非対応

非対応

非対応

Hologres コネクタのコードは Apache Flink V1.11 以降でオープンソース化されています。詳細については、「alibabacloud-hologres-connectors」をご参照ください。

Apache Flink V1.13 以降

対応

行指向ストレージおよび列指向ストレージの両方をサポートします。

行指向ストレージの利用を推奨します。

非対応

非対応

非対応

Hologres コネクタのコードは Apache Flink V1.11 以降でオープンソース化されています。詳細については、「alibabacloud-hologres-connectors」をご参照ください。

Hologres コネクタのリリースノート

Flink バージョン

VVR バージョン

Hologres バージョン

更新情報

参考資料

1.20

11.6

3.2.x

4.0.x

4.1.x

ソーステーブル:

  • 最新オフセットからバイナリログデータを消費するための LATEST_OFFSET スタートアップモードを追加しました。

  • バイナリログサブスクリプションにおける VARCHAR 配列型のサポートを追加しました。

Catalog:

  • Hologres Catalog がグローバルインデックスおよびプレフィックススキャンキーをカタログインデックスとして公開するようになりました。

一般:

  • 複数テーブルシナリオにおいて SQL Gateway のタイムアウトを防止するため、JDBC プローブリクエストキャッシュを追加しました。

Hologres

1.20

11.5

3.2.x

4.0.x

4.1.x

ソーステーブル:

  • 物理列の名前とメタデータ列の名前が競合する場合に、物理列を優先するための scan.binlog.prefer.physical-column.over.metadata パラメーターを追加しました。

  • バッチソーステーブルは、デフォルトで再シャッフルを実行しなくなりました。

ディメンションテーブル:

  • 列指向テーブルに対するルックアップ検証を追加しました。列指向テーブルをディメンションテーブルとして使用するには、lookup.read.column-table.enabled パラメーターを true に設定する必要があります。

一般:

  • Access Key V4(AKV4)認証のサポートを追加しました。

バグ修正:

  • チェックアンドプット操作中に DELETE レコードを受信した際に発生していた NullPointerException(NPE)を修正しました。

  • バイナリログの列プルーニングが有効な場合に不正な列読み取りが発生していた問題を修正するため、holo-client を更新しました。

Hologres

1.20

11.4

3.2.x

4.0.x

4.1.x

結果テーブル:

  • 挿入式を使用した更新時に null 値を無視するための sink.ignore-null-when-update-by-expr.enabled パラメーターを追加しました。

  • カスタムコンフリクト処理のための挿入コンフリクト式(conflict expr)のサポートを追加しました。

  • ストリームコピー方式がバイナリ行形式をサポートするようになり、書き込みパフォーマンスが向上しました。

ディメンションテーブル:

  • ディメンションテーブルにおけるフィルターのプッシュダウンのサポートを追加しました。

バグ修正:

  • ジョブ停止時に一対多のディメンションテーブル接続が閉じられなかった問題を修正するため、holo-client を更新しました。

Hologres

1.20

11.3

3.1.x

3.2.x

4.0.x

ソーステーブル:

  • バイナリログ消費におけるデータ圧縮および列プルーニングのサポートを追加し、ネットワークトラフィックおよびメモリ使用量を削減しました。

  • バイナリログにおけるフィルターのプッシュダウンのサポートを追加し、不要なデータ転送を削減しました。

シンクテーブル:

  • パーティション接尾辞と動的パーティションの作成時の競合を修正しました。

  • 生成列への書き込みのサポートを追加しました。

一般:

  • 固定 FE がサポートしないデータ型を選択した場合、接続が自動的にフロントエンド(FE)に切り替わるようになりました。

  • データベース名に @warehouse が含まれていた場合に発生していた接続失敗を修正するため、holo-client を更新しました。

バグ修正:

  • テーブルが削除された場合に、コネクタがチェックポイントから復旧できなかった問題を修正しました。

  • パーティション親テーブルから消費する際に、空のシャードのパーティション状態 LSN が誤って 0 に初期化されていた問題を修正しました。

  • JDBC バイナリログ経由で RoaringBitmap データを読み取る際に発生していた失敗を修正しました。

Hologres

1.20

11.2

3.1.x

3.2.x

4.0.x

シンクテーブル:

  • 書き込み時にバイナリログを生成しないようにするテーブルレベル設定 sink.not-generate-binlog.enabled を追加しました。これにより、バイナリログ消費ループを防止できます。

  • ダーティデータポリシーが、実際のダーティデータ例外にのみ適用されるようになりました。

一般:

  • HologresDynamicTableSink の作成時にテーブルメタデータへのアクセスが不要となり、ジョブの送信が高速化されました。

バグ修正:

  • バイナリログおよびアップサートソース構成に関する下位互換性の問題を修正しました。

  • Hologres 構成パラメーターに関する下位互換性の問題を修正しました。

  • 非推奨パラメーターに関する互換性の問題を修正しました。

  • null 要素を含む TEXT 配列を書き込む際に発生していた NPE を修正しました。

Hologres

1.20

11.1

3.1.x

3.2.x

ソーステーブル:

  • Hologres パーティションテーブルのバイナリログをサブスクライブする際に、パーティション値を指定できるようになりました。

結果テーブル:

  • 日付形式のパーティションのサポートを追加しました。

ディメンションテーブル:

  • キャッシュヒットおよびミスのメトリクスを追加しました。

一般:

  • 既知の問題に基づいて、コネクタが最適な接続モードを自動的に選択するようになりました。

  • SQL ヒント内の非標準フォーマットのオプションがカタログオプションを上書きできなかった問題を修正しました。

Hologres

1.20

11.0

3.1.x

3.2.x

一般:

  • RPC および HoloHub に関連するすべてのコードおよび依存関係を削除しました。コネクタは JDBC モードのみを使用するようになりました。パラメーター名もリファクタリングされました。

ソーステーブル:

  • 完全および増分データ用のソーステーブル:完全スナップショット読み取りが完了した後、増分消費は現在の最大 LSN から開始されるようになり、データ損失が防止されます。

Hologres

1.17

8.0.11

2.1.x

2.2.x

3.0.x

ソーステーブル:

  • パーティションテーブルのバイナリログ読み取りのサポートを追加しました。

  • ソーステーブルにおけるメタデータ列のサポートを追加しました。

  • JDBC バイナリログにおける decimal 型が、Flink 型の scale を使用するようになりました。

  • 完全および増分データ用のソーステーブル:スナップショット読み取りが完了した後、増分消費は現在の最大 LSN から開始されるようになりました。

結果テーブル:

  • 条件付き書き込みのためのチェックアンドプット機能を追加しました。

  • 積極的なフラッシュのサポートを追加し、データ可視性遅延を短縮しました。

  • copy 書き込みモードが TIME データ型をサポートするようになりました。

  • copy 書き込みモードの最大セルバッファーサイズパラメーターを追加しました。

  • copy 書き込みモードに idle-session-timeout を追加し、長時間アイドル状態の接続を防止しました。

一般:

  • remove-u0000-in-text.enabled パラメーターのデフォルト値を true に変更しました。

  • アップグレードおよびスペックダウン時のステート互換性のサポートを追加しました。

  • カタログディメンションテーブルを使用する場合、ファクトリがバイナリログパラメーターを検証しなくなったため、誤検知エラーが防止されます。

  • デプロイメント時にジョブが長時間待機することを防ぐため、デプロイ失敗前にリトライを 3 回までに制限しました。

バグ修正:

  • JDBC URL 解析の問題を修正するため、holo-client を更新しました。

  • 完全および増分データ用のソーステーブルにおける JDBC バイナリログ消費が、チェックポイント後に LSN+1 から開始されていた問題を修正しました。

  • CTAS シナリオにおいて、列削除と型変更が同時に発生した場合の型正規化エラーを修正しました。

Hologres

1.17

8.0.9~8.0.10

2.1.x

2.2.x

3.0.x

  • 共有接続プールに新しいクライアントを登録する際に発生する可能性のあるデッドロック問題を修正しました。

  • テーブル ID は、Binlog 消費ジョブが保存済みの状態から再開されるときに、もはや強制的にチェックされません。

Hologres

1.17

8.0.8

2.1.x

2.2.x

結果テーブル:

  • UPDATE_BEFORE レコードの処理方法を拡張するための sink.delete-strategy パラメーターを追加しました。これにより、既存の ignoredelete オプションを補完します。

Hologres

1.17

8.0.7

2.1.x

ディメンションテーブル:

  • 多数のフィールドを持つディメンションテーブルで頻繁にメタデータ取得が行われた場合に、ジョブデプロイメントのタイムアウトが発生していた問題を修正しました。

一般:

  • 共有接続プール内で異なるテーブルが異なるユーザーを使用していた場合に発生していた権限不足エラーを修正しました。

Hologres

1.17

8.0.6

2.1.x

ソーステーブル:

一般:

  • Flink TIMESTAMP_LTZ データ型の読み書きを正しく行うための type-mapping.timestamp-converting.legacy パラメーターのサポートを追加しました。詳細については、「Hologres」をご参照ください。

1.17

8.0.5

2.0.x

2.1.x

ソーステーブル:

  • Hologres V2.1 以降では、JDBC 経由でバイナリログデータを消費する際に、スロットを作成する必要がなくなりました。詳細については、「JDBC 経由でのバイナリログの消費」をご参照ください。このため、本バージョン以降では、Hologres インスタンスが V2.1 以降の場合、出版物およびスロットは自動的に作成されなくなりました。

結果テーブル:

  • 新しい deduplication.enabled パラメーターを追加しました。デフォルト値は true です。このパラメーターを false に設定すると、集約および書き込みプロセス中の重複排除をスキップできます。これは、上流 CDC ストリームの完全再生などのシナリオに有用です。

  • プライマリキーを持たないテーブルでもバルクロード書き込みが可能になり、以前の JDBC copy 方式と比較して Hologres リソースの消費が少なくなりました。

一般:

  • connection.ssl.mode および connection.ssl.root-cert.location パラメーターを使用した転送中暗号化のサポートを追加しました。

  • 予期しないサーバー再起動などのシナリオでクライアント接続が応答しなくなるのを防ぐため、内部 JDBC 接続のタイムアウトパラメーターを追加しました。

1.17

8.0.4

2.0.x

2.1.x

ソーステーブル:

  • テーブル再構築後に残った出版物がバイナリログ消費を妨げていた問題を修正しました。コネクタは、古い出版物を自動的に削除するようになりました。

一般:

  • 同一ジョブ内の Hologres ディメンションテーブルおよび結果テーブルが接続プールを共有するようになったため、有効な接続数上限が増加しました。

1.17

8.0.3

2.0.x

2.1.x

一般:

  • Hologres インスタンスのバージョンに関係なく、ディメンションテーブルおよび結果テーブルは RPC モードをサポートしなくなりました。RPC モードを選択した場合、自動的に jdbc_fixed モードに切り替わります。早期バージョンのインスタンスをお使いの場合は、アップグレードを推奨します。

Hologres

1.15

6.0.7

  • 1.3.x

  • 2.0.x

  • ソーステーブル:

    Hologres V2.0 との互換性を追加しました。コネクタが Hologres V2.0 以降のインスタンスへの接続を検出した場合、HoloHub バイナリログモードを自動的に JDBC バイナリログモードに切り替えます。

  • ディメンションテーブル:

    Hologres V2.0 との互換性を追加しました。コネクタが Hologres V2.0 以降のインスタンスへの接続を検出した場合、RPC モードを自動的に jdbc_fixed モードに切り替えます。

  • シンクテーブル:

    • Hologres V2.0 との互換性を追加しました。コネクタが Hologres V2.0 以降のインスタンスへの接続を検出した場合、RPC モードを自動的に jdbc_fixed モードに切り替えます。

    • 部分列更新のサポートを追加しました。Flink の INSERT 文で宣言されたフィールドのみを挿入できます。この機能により、広範囲テーブルのマージシナリオが簡素化されます。

  • 一般:

    レコード変換例外が発生した場合、コネクタはソースデータおよび変換結果をログに記録するようになり、ダーティデータ問題のトラブルシューティングが容易になりました。

  • バグ修正:

    • 同一ジョブ内で異なるインスタンスまたはデータベースに対して同じ connectionPoolName を使用した場合にエラーが発生しなかった問題を修正しました。

    • ディメンションテーブルの文字列型に null 値が含まれていた場合に、バージョン 6.0.6 で発生していた NullPointerException を修正しました。

Hologres

1.15

6.0.6

1.3.x

ソーステーブル:

  • JDBC モードで Hologres バイナリログデータを消費する場合、スロット名パラメーターは必須ではなくなりました。デフォルトスロットを作成することで、HoloHub モードからのスムーズな切り替えが可能になります。

  • 新しい enable_filter_push_down パラメーターを追加しました。バッチソーステーブルは、デフォルトでフィルター条件をプッシュダウンしなくなりました。フィルターのプッシュダウンを有効にするには、このパラメーターを true に設定します。

Hologres

1.15

6.0.5

1.3.x

  • 一般:ジョブ開始時に、すべてのパラメーター情報が TaskManager ログに出力されるようになり、トラブルシューティングが容易になりました。

  • CTAS/CDAS:フィールドデータ型の許容モードを追加しました。このモードでは、ソース側でデータ型の変更が発生した場合、元の型と新しい型が同じ型に正規化できる限り、変更は成功と見なされます。

  • Hologres Catalog:ALTER TABLE 構文を強化し、Hologres 物理テーブルのプロパティ変更(テーブル名の変更、列の追加、列名の変更、列コメントの変更など)をサポートしました。

1.15

6.0.3~6.0.4

1.3.x

ソーステーブル:

  • Hologres バイナリログデータを消費するための JDBC モードを追加しました。このモードは、より多くのデータ型をサポートし、カスタムアカウントの使用を可能にします。

  • バッチソーステーブルおよび完全および増分データ用ソーステーブルの完全フェーズにおけるフィルターのプッシュダウンのサポートを追加しました。

結果テーブル:

Fixed Copy モードによるデータ書き込みのサポートを追加しました。Fixed Copy は Hologres V1.3 で導入された新機能です。JDBC モードと比較して、Fixed Copy モードはストリーミングによる高いスループットおよび低いデータ遅延を提供し、バッチ処理を排除することでクライアントのメモリ使用量を削減します。

Hologres Catalog:

  • カタログ作成時にデフォルトテーブルプロパティを設定するためのサポートを追加しました。

sdkMode パラメーター:Hologres 内のテーブルタイプごとに異なるモードが利用可能です。sdkMode パラメーターは、モード選択を統合するために使用されるようになりました。

1.13

4.0.18

1.1 以降

結果テーブルのメトリクス報告が書き込みパフォーマンスを低下させていた問題を修正しました。

1.13 および 1.15

4.0.15 および 6.0.2

1.1 以降

ソーステーブル:

  • バッチソーステーブルは、デフォルトで大文字小文字を区別するようになりました。

  • バッチソーステーブルの Scan 操作に対するトランザクションタイムアウトの設定をサポートしました。

  • バッチソーステーブルにおける複雑な文字列の解析が失敗する問題を修正しました。

  • 完全および増分データ用ソーステーブルに Upsert モードを追加しました。

ディメンションテーブル:

Hologres ディメンションテーブルに対する非同期リクエストタイムアウト(asyncTimeoutMs)の設定をサポートしました。

結果テーブル:

  • CTAS を使用して Hologres 結果テーブルを作成する際に、PARTITION BY 構文を使用してパーティションテーブルを定義するサポートを追加しました。

  • メトリクスが currentSendTime メトリクスをサポートするようになりました。

1.13

4.0.13

1.1 以降

  • 完全および増分データ用ソーステーブルのサポートを追加しました。

  • DataStream API のサポートを追加しました。

1.13

4.0.11

0.10 以降

CTAS および CDAS のサポートを追加しました。

1.13

4.0.8

0.10 以降

結果テーブル、ソーステーブル、ディメンションテーブルに対する Hologres Catalog のサポートを追加しました。

Hologres カタログの管理

1.13

3.0.0

0.9 以降

Hologres からのリアルタイムデータ消費のサポートを追加しました。

Fully managed Flink

既知の問題および修正

  • 問題および修正に関する注意事項

    • 各問題の影響を受けるバージョンが明確に指定されています。リストに記載されていないバージョンは影響を受けません。

    • 影響を受けるバージョンが「N/A」と記載されている場合、その問題はコネクタではなく Hologres エンジンの欠陥である可能性があります。

  • 重大度レベル

    • P0(重大):直ちにアップグレードすることを推奨します。この問題が発生すると、本番運用に影響を与える可能性があり、クエリの正確性や書き込み成功率が低下するおそれがあります。

    • P1(高):潜在的な問題を防止するために、アップグレードすることを推奨します。

    • P2(中):任意のアップグレードです。これらの問題は断続的に発生し、回避策またはジョブの再起動によって解決できます。

重大度

説明

影響を受けるバージョン

修正済みバージョン

解決策

P0

結果テーブルへの一部列への書き込み時、未書き込みのフィールドに time 関連のデフォルト値(例:current_timestamp や now())が設定されている場合、設定される値が不正になることがあります。これは FixedFE モードが time 関連のデフォルト値を正しく処理できないためです。

11.0~11.5

N/A

Flink 側の now() 関数を使用して、結果テーブルの対応するフィールドに値を渡すか、connection.fixed.enabled パラメーターを false に設定してください。

P0

バイナリログ消費時、物理列とメタデータ列の名前が table_name のように一致する場合、コネクタが誤ってメタデータ列の値を物理列の値として読み取るため、不正なデータが発生します。

8.0.11、11.0~11.4

11.5

バージョン 11.5 以降にアップグレードし、scan.binlog.prefer.physical-column.over.metadatatrue に設定してください。あるいは、バイナリログソーステーブルの DDL で、メタデータ列と同じ名前の物理列を宣言しないでください。

P1

バイナリログ消費時、列のプルーニングにより、データが誤った列に読み込まれることがあります。これは holo-client が列のプルーニング処理で予期しない列を取得してしまうためです。

11.3~11.5

該当するすべてのバージョン(11.3~11.5)に対して修正プログラムがリリースされています。

この問題に対処する修正プログラムが提供されているため、発生する可能性は低くなっています。DataStream ジョブの場合は、最新のコネクタバージョンを使用してください。

P2

一対多のディメンションテーブルのスキャナーは、ジョブを停止した際に正しく閉じられません。これにより、リソースリークやシャットダウン時のジョブタイムアウトが発生する可能性があります。この問題は、holo-client の内部スキャナー終了処理の不具合が原因です。

11.3 より前のバージョン

11.4

バージョン 11.4 以降にアップグレードしてください。

P1

チェックアンドプット機能を使用した場合、DELETE レコードの処理時に NullPointerException(NPE)が発生し、ジョブが失敗します。

8.0.11~11.4

11.5

バージョン 11.5 以降にアップグレードしてください。あるいは、DELETE 操作を含むストリームに対してチェックアンドプットを使用しないでください。

P2

ジョブ実行中にテーブルが削除・再作成された場合、コネクタがチェックポイントから復旧できず、失敗します。

11.0~11.2

11.3

テスト環境では、この問題を回避するためにバージョン 11.3 以降にアップグレードできます。ただし、バイナリログ消費中にテーブルを再構築するとデータの正確性に影響を与えるため、本番環境ではバイナリログ消費中のテーブル再構築を避けてください。

P1

JDBC バイナリログ経由で RoaringBitmap データを読み取ろうとした場合、解析例外が発生し、失敗します。

11.0~11.2

11.3

バージョン 11.3 以降にアップグレードしてください。

P1

物理パーティションテーブルから消費する場合、シャードにデータがないと、コネクタが状態のログシーケンス番号(LSN)を誤って 0 に初期化します。これにより、ジョブがこの状態から再開された際にデータ損失が発生します。

8.0.10 より前のバージョン、11.0~11.2

8.0.11、11.3

バージョン 8.0.11 または 11.3 以降にアップグレードしてください。

P1

null 要素を含む TEXT 配列を書き込もうとした場合、NPE が発生し、書き込み操作が失敗します。

11.0~11.1

11.2

バージョン 11.2 以降にアップグレードしてください。あるいは、上流の TEXT 配列に null 要素が含まれないようにしてください。

P1

パーティション作成接尾辞と動的パーティションの間で競合が発生し、パーティション作成が失敗します。

11.0~11.2

11.3

バージョン 11.3 以降にアップグレードしてください。

P2

ダーティデータとは無関係の例外がダーティデータポリシーをトリガーし、有効な例外が誤って処理される(例:黙って破棄される)ことがあります。

11.0~11.1

11.2

バージョン 11.2 以降にアップグレードしてください。

P1

完全および増分統合ソーステーブルの場合、JDBC バイナリログは LSN+1 から消費を開始します。現在の LSN がすでにチェックポイント内にある場合、そこから再開すると 1 件のレコードがスキップされる可能性があります。

8.0.10 以前

8.0.11

バージョン 8.0.11 にアップグレードしてください。

P2

CTAS シナリオにおいて、列削除と型変更を同一操作で行った場合、型正規化エラーによりスキーマ変更が失敗します。

8.0.10 以前

8.0.11

バージョン 8.0.11 にアップグレードしてください。あるいは、列削除と型変更を同一操作で行わないでください。

P2

カタログディメンションテーブルを使用する場合、バイナリログパラメーターのファクトリ検証により誤検知の例外が発生します。

8.0.10 以前

8.0.11

バージョン 8.0.11 にアップグレードしてください。

P2

複数テーブルシナリオにおいて、過剰な JDBC ポーリングリクエストにより SQL Gateway がタイムアウトします。

11.0~11.5

11.6

バージョン 11.6 にアップグレードしてください。あるいは、単一ジョブ内の Hologres テーブル数を減らしてください。

P2

FixedFE モードを選択した場合、テーブルに FixedFE がサポートしないデータ型が含まれていると、接続が自動的に FE 接続にダウングレードされず、書き込みまたはクエリ例外が発生します。

11.0~11.2

11.3

バージョン 11.3 以降にアップグレードしてください。あるいは、FE 接続モードを手動で指定してください。

P1

JDBC モードでバイナリログを消費する場合、「Binlog Convert Failed」例外が発生したり、一部のシャードからのデータ読み取りが停止することがあります。これは、Hologres インスタンスのゲートウェイがバックエンドタイムアウト例外をクライアントに返す際に問題を抱えており、読み取り操作が停止または解析エラーで失敗するためです。

N/A

N/A

この問題は、ジョブのバックプレッシャーが高い場合に発生しやすくなります。データの読み取りが停止した場合は、ジョブを再起動して、最新のチェックポイントから再開してください。

この問題を完全に解決するには、Hologres インスタンスをバージョン 2.2.21 以降にスペックアップしてください。

P2

ジョブのデプロイが遅い、またはタイムアウトします。スレッドダンプ分析により、処理が GetTableSchema で停止していることが確認できます。

N/A

N/A

この問題には複数の原因が考えられます。以下の手順でトラブルシューティングを行ってください。

  1. Flink クラスターと Hologres インスタンス間のネットワーク接続を確認してください。

  2. 例外の根本原因が内部リトライによって隠蔽されないよう、jdbcRetryCount パラメーターを 1 に設定してください。

  3. Hologres V2.0 以前では、頻繁な DDL 操作によりメタデータのクリーンアップが遅延し、テーブルメタデータクエリが遅くなることがあります。Hologres インスタンスを V2.1 以降にアップグレードすることを推奨します。

P0

FixedFE モード(コネクタの jdbc_fixed モードに対応)で TEXT、JSON、JSONB データを Hologres に書き込む場合、データソースに無効な文字が含まれていると、予期しない例外が発生します。これにより、接続された FE ノードが再起動し、接続が中断されます。

N/A

N/A

上流の文字列の有効性を保証できない場合は、JDBC モードでデータを書き込み、結果テーブルの設定を有効化する必要があります。

remove-u0000-in-text.enabled パラメーター。

あるいは、jdbc_fixed モードを引き続き使用するには、Hologres インスタンスをバージョン 3.0 以降にスペックアップしてください。

P1

JDBC ディメンションテーブルで一対多結合を実行した場合、Flink タスクのメモリ使用量が高くなる、または Out Of Memory(OOM)エラーが発生することがあります。

N/A

N/A

Hologres V1.3 では、prefix scan を使用し、クエリ結果数が jdbcScanFetchSize の値を超える場合、バッチクエリが終了しないことがあります。回避策として、jdbcScanFetchSize100000 のような大きな値に設定してください。
この問題を完全に解決するには、Hologres インスタンスを V2.0 以降にアップグレードしてください。

この問題を完全に解決するには、Hologres インスタンスを V2.0 以降にスペックアップしてください。

P1

バイナリログジョブがステートフル回復中に the table id parsed from checkpoint is different from the current table id 例外をスローします。これは、ジョブが以前の実行で TRUNCATE 操作を実行したか、テーブルを再作成したためです。チェックポイントにはジョブの初期起動時のテーブル ID が格納されており、現在のテーブル ID と一致しません。

8.0.4

8.0.9

バージョン 8.0.9 以降では、テーブル ID のチェックは実施されなくなり、代わりに警告がログに出力されるため、ジョブは最新の状態から再開できます。ただし、バイナリログジョブ実行中にテーブルを再構築すると、以前のすべてのバイナリログデータが失われるため、これを避けてください。

P2

ジョブ実行中にバックプレッシャーが発生します。スレッドダンプにより、実行プールが close() または start() メソッドで停止していることが確認できます。これは、複数のクライアントが同じ接続プールを共有している場合にデッドロックが発生し、接続プールが正しく閉じられないことが原因です。

8.0.5

8.0.9

コネクタのバージョンをアップグレードしてください。

P2

ソーステーブルに対して DELETE FROM 操作を実行した後に、完全および増分消費ジョブを実行した場合、増分フェーズにデータがないため、完全消費フェーズが最初からすべてのバイナリログデータを再消費します。

8.0.6 以前

8.0.7

コネクタのバージョンをアップグレードするか、増分消費の開始時刻を指定してください。

P1

ディメンションテーブルに多数のフィールドが含まれている場合、ジョブデプロイメントがタイムアウトします。

8.0.6

8.0.7

コネクタのバージョンをアップグレードしてください。

P0

バッチソーステーブルに対して enable_filter_push_down パラメーターが有効になっている場合、フィルターが適用されません。その結果、本来フィルターされるはずのデータが依然として読み取られてしまいます。

説明

この問題は、完全および増分統合ソーステーブルおよびバイナリログソーステーブルには影響しません。

8.0.5 以前

8.0.6

コネクタのバージョンをアップグレードしてください。

P0

FixedFE モード(コネクタの jdbc_fixed モードに対応)で JSON または JSONB データを Hologres に書き込む場合、ソースデータに無効な JSON または JSONB フィールドが含まれていると、接続された FE ノードが再起動し、FE 接続が中断されます。

8.0.5 以前

なし

上流の JSON または JSONB 文字列の妥当性が保証できない場合、JDBC モードでデータを書き込んでください。

P1

JDBC ディメンションテーブルで一対多結合を実行した場合、接続障害などの内部例外が適切にスローされません。これは、非同期結合ノードでのバックプレッシャーとして現れ、データフローが停止する可能性があります。この問題は稀に発生します。

6.0.7 以前

8.0.3

コネクタのバージョンをアップグレードしてください。一時的な解決策として、ジョブを再起動することもできます。

P1

JDBC モードでバイナリログデータを消費する場合、メモリリークが発生します。これは、ジョブ開始時に消費率が高く、その後継続的に低下するという形で現れることがあります。

6.0.7 以前

6.0.7

コネクタのバージョンをアップグレードしてください。DataStream ジョブの場合は、バージョン 6.0.7-1 の依存関係を使用する必要があります。

P0

JDBC モードで書き込みを行う場合、スケジュールされたフラッシュ(jdbcWriteFlushInterval パラメーターで制御)中にキャプチャされた例外は、次のデータレコードが処理されるまでスローされません。書き込みトラフィックが少ない場合、チェックポイントが正常に作成される一方で、例外がキャプチャされてもまだスローされていない状態になることがあります。その後に障害が発生した場合、ジョブはこの無効なチェックポイントから再開され、データ損失につながる可能性があります。

6.0.6 以前

6.0.7

この問題は、トラフィックが少ない場合に発生しやすくなります。コネクタのバージョンをアップグレードするか、jdbcWriteFlushInterval をチェックポイント間隔よりも長く設定してください。

P2

JDBC モードでバイナリログデータを消費する場合、スロット名を設定していないと、システムが自動的にスロットを作成します。テーブル名またはスキーマ名に特殊文字が含まれている場合、自動生成されたスロット名が無効となり、構文エラーが発生します。

6.0.6

6.0.7

コネクタのバージョンをアップグレードしてください。DataStream ジョブの場合は、バージョン 6.0.7-1 の依存関係を使用する必要があります。

P1

同一ジョブ内で異なる Hologres インスタンスまたはデータベースが同じ connectionPoolName を使用している場合、「テーブルが見つかりません」などの例外が発生することがあります。

6.0.6 以前

6.0.7

同一ジョブ内で使用する各 Hologres インスタンスまたはデータベースに対して、異なる connectionPoolName を使用してください。

P1

ディメンションテーブルに null 値を持つ文字列フィールドが含まれている場合、NPE がスローされます。

6.0.6

6.0.7

コネクタのバージョンをアップグレードしてください。

P0

Hologres ソーステーブルに対してフィルターのプッシュダウンがデフォルトで有効になっています。しかし、ジョブが Hologres ディメンションテーブルも使用しており、書き込み DML がディメンションテーブルの非プライマリキー列に対するフィルターを含む場合、フィルターが誤ってディメンションテーブルにもプッシュダウンされます。これにより、ディメンションテーブルの JOIN 結果が不正になる可能性があります。

6.0.3~6.0.5

6.0.6

コネクタのバージョンをアップグレードしてください。

P0

複数の結果テーブルが異なる mutatetype 設定を持ちながら、接続プールの再利用のために同じ connectionPoolName を共有している場合、mutatetype 設定が上書きされ、効果が無効になることがあります。

6.0.2 以前

6.0.3

すべての結果テーブルの mutatetypeInsertOrUpdate に設定するか、異なる connectionPoolNamemutatetype 設定の異なるテーブルに使用してください。

P1

バイナリログソーステーブルの DDL で hg_binlog_timestamp_us フィールドを宣言した場合、NPE がスローされます。

6.0.2

6.0.3

このフィールドの使用をやめるか、コネクタのバージョンをアップグレードしてください。

P1

メトリクス報告が結果テーブルの書き込みパフォーマンスに影響を与えます。thread dump を実行すると、シンクノードが reportWriteLatency で停止していることが確認できます。

4.0.15~4.0.17

4.0.18

この問題の影響を受けないバージョンを使用してください。

P2

バッチソーステーブルから STRING または STRING 配列型のデータを読み取る場合、データに特殊文字が含まれていると、解析が失敗します。

4.0.14 以前

4.0.15

ソーステーブルからダーティデータを除去するか、コネクタのバージョンをアップグレードしてください。

P2

完全および増分統合ソーステーブルの DDL で hg_binlog などのバイナリログ固有のフィールドを宣言した場合、完全データを消費できません。

4.0.13

4.0.14

完全および増分統合機能の使用を避けるか、コネクタのバージョンをアップグレードしてください。