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

Hologres:Use fully managed Flink の使用

最終更新日:Mar 18, 2025

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

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

Fully managed 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 は、HoloHub モードよりも JDBC モードでより多くのデータ型をサポートし、JDBC モードでカスタムアカウントをサポートしています。詳細については、「Realtime Compute for Apache 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 ステートメント」および「CREATE DATABASE AS ステートメント」をご参照ください。

Hologres DataStream コネクタ

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

データ型間のマッピング

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  -- Hologres の内部テーブルを作成する場合のコメント
      (
          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 コネクタ リリースノート」をご参照ください。

FAQ

Realtime Compute for Apache Flink を使用する場合の一般的な問題とその解決策の詳細については、「Blink と Flink の問題のトラブルシューティング」をご参照ください。