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

Hologres:Realtime Compute for Apache Flink

最終更新日:Aug 23, 2026

Realtime Compute for Apache Flink は、Alibaba Cloud が提供するリアルタイム計算サービスです。Apache Flink をベースに開発されたフルマネージドサービスです。Hologres はフルマネージド Flink と高い互換性があります。フルマネージド Flink で Hologres のソーステーブル、ディメンションテーブル、結果テーブル、およびカタログを使用できます。これにより、フルマネージド Flink を使用してワンストップのリアルタイムデータウェアハウスを構築できます。このトピックでは、Hologres インスタンスをアップストリームおよびダウンストリームのストレージサービスとして使用して、フルマネージド Flink にデータを保存する方法について説明します。

Hologres のソーステーブル、ディメンションテーブル、結果テーブル

フルマネージド Flink は、Hologres のソーステーブル、ディメンションテーブル、結果テーブルをサポートしています。詳細については、「Hologres:リアルタイムデータウェアハウス」をご参照ください。

バイナリログのリアルタイム消費

Realtime Compute for Apache Flink は、Hologres コネクタを使用してバイナリログデータをリアルタイムで消費します。Ververica Runtime (VVR) 6.0.3 以降を使用する Realtime Compute for Apache Flink は、Java Database Connectivity (JDBC) モードでのストリーミングソーステーブルをサポートしています。Realtime Compute for Apache Flink は、JDBC モードでは HoloHub モードよりも多くのデータ型をサポートし、カスタムアカウントもサポートしています。詳細については、「Flink でバイナリログデータを消費する」をご参照ください。

Hologres カタログ

Realtime Compute for Apache Flink は Hologres カタログをサポートしています。Realtime Compute for Apache Flink の開発コンソールで Hologres テーブルを登録することなく、Hologres メタデータを読み取ることができます。これにより、デプロイ開発の効率が向上し、テーブルスキーマの正確性が保証されます。詳細については、「Hologres カタログの管理」をご参照ください。

Realtime Compute for Apache Flink は、Hologres カタログに基づくスキーマ進化とデータベース同期をサポートしています。詳細については、「CREATE TABLE AS (CTAS) ステートメント (廃止予定)」および「CREATE DATABASE AS (CDAS) ステートメント (廃止予定)」をご参照ください。

Hologres DataStream コネクタ

Hologres DataStream コネクタを使用して Hologres からデータを読み取る、または Hologres にデータを書き込む場合は、Hologres DataStream コネクタを使用して Hologres を Realtime Compute for Apache Flink に接続する必要があります。詳細については、「Hologres DataStream コネクタ」をご参照ください。

データ型のマッピング

Realtime Compute for Apache Flink と Hologres のデータ型のマッピングの詳細については、「データ型の概要」をご参照ください。

説明
  • Realtime Compute for Apache Flink で SQL ドラフトをデプロイする場合、SQL デプロイで Hologres のソーステーブル、ディメンションテーブル、結果テーブルのいずれを使用する場合でも、データ型を Realtime Compute for Apache Flink でサポートされているものに定義する必要があります。Hologres で内部テーブルを作成する場合にのみ、データ型を Hologres でサポートされているものに定義できます。

  • Realtime Compute for Apache Flink を使用して JSON データを Hologres に書き込む場合は、SQL デプロイのソーステーブルと結果テーブルの列のデータ型は VARCHAR 型に、Hologres 内部テーブルの列のデータ型は JSONB 型に定義する必要があります。

    • Hologres 内部テーブル: message のデータ型を JSONB に設定。

      BEGIN ;
      DROP TABLE IF EXISTS holo_internal_table;
      CREATE TABLE IF NOT EXISTS holo_internal_table
      (
          id BIGINT NOT NULL,
          message JSONB NOT NULL
      );
      CALL set_table_property('holo_internal_table', 'distribution_key', 'id');
      COMMIT ;
    • Flink デプロイ:ソーステーブルと結果テーブルの message のデータ型を VARCHAR に設定。

      CREATE TEMPORARY TABLE randomSource (
          id BIGINT,
          message VARCHAR
        )
      WITH ('connector' = 'datagen');
      
      CREATE TEMPORARY TABLE sink_holo (
          id BIGINT,
          message VARCHAR
        )
      WITH (
          'connector' = 'hologres',
          'endpoint' = '',
          'username' = '',
          'password' = '',
          'dbname' = '',
          'tablename' = 'holo_internal_table'
        );
      
      INSERT INTO sink_holo
      SELECT
        1,
        '{"k":"v"}'
      FROM
        randomSource;

コネクタリリースノート

コネクタリリースノートの詳細については、「Hologres コネクタリリースノート」をご参照ください。

よくある質問

Realtime Compute for Apache Flink の使用時によくある問題とその解決策については、「Blink と Flink の問題のトラブルシューティング」をご参照ください。