全部產品
Search
文件中心

Hologres:Flink全託管

更新時間:Dec 18, 2024

Flink全託管產品(Flink Serverless)是基於Apache Flink構建的全託管產品,為您提供全託管的Realtime Compute服務。Hologres與Flink全託管高度相容,支援Hologres源表、維表和結果表,以及Catalog等功能,滿足一站式即時數倉建設。本文為您介紹如何使用Hologres作為Flink全託管的上下遊儲存。

Hologres源表、維表和結果表

在Flink全託管中支援Hologres源表、維表和結果表,詳細的使用說明請參見即時數倉Hologres

Flink即時消費Binlog

Hologres Connector支援即時消費Binlog,從VVR 6.0.3版本開始支援JDBC模式的流式源表,相比Holohub模式,支援更多的資料類型以及支援自訂帳號,詳情請參見Flink即時消費Binlog

Hologres Catalog

Flink全託管支援Hologres Catalog,在Flink全託管控制台直接讀取Hologres中繼資料,不用再手動註冊Hologres表,可以提高作業開發的效率且能保證表結構的正確性,詳情請參見管理Hologres Catalog

基於Hologres Catalog,目前全託管的Flink已經支援模型演化(schema evolution)以及整庫同步能力,詳情請參見CREATE TABLE AS(CTAS)語句CREATE DATABASE AS(CDAS)語句

Hologres DataStream Connector

如果您通過DataStream的方式讀寫Hologres資料,則需要使用Hologres DataStream Connector串連Flink全託管,詳情請參見Hologres DataStream Connector

資料類型映射

Flink全託管與Hologres的資料類型映射,請參見資料類型匯總

說明
  • 不論是將Hologres作為源表、維表還是結果表,在Flink的SQL作業中,都要將資料定義為Flink的資料類型。只有在Hologres中建立內部表時,才需要定義為Hologres的資料類型。

  • 如果期望使用Flink將JSON資料寫入Hologres,則在Flink 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;

Connector Release Note

版本說明請參見Hologres Connector Release Note

常見問題

Flink全託管使用過程中,常見問題及解決方案請參見Blink和Flink常見問題及診斷