全部產品
Search
文件中心

Realtime Compute for Apache Flink:管理StarRocks Catalog

更新時間:Jun 09, 2026

Catalog提供了中繼資料資訊,例如資料庫、表、分區以及資料庫或其他外部系統中儲存的函數和資訊。配置StarRocks Catalog後,您可以在Realtime Compute開發控制台直接讀取StarRocks中繼資料,無需再手動註冊StarRocks表,提高作業開發的效率且保證資料的正確性。本文為您介紹如何在建立、查看、使用及刪除StarRocks Catalog。

使用限制

  • 僅Realtime Compute引擎VVR-6.0.6-Flink-1.15及以上版本支援配置StarRocks Catalog。

  • 不支援通過Catalog建立和修改StarRocks表。

建立StarRocks Catalog

支援UI與SQL命令兩種方式配置StarRocks Catalog,推薦使用UI方式配置StarRocks Catalog。

UI方式

  1. 進入資料管理頁面。

    1. 登入Realtime Compute控制台,單擊目標工作空間操作列下的控制台

    2. 單擊資料管理

  2. 單擊建立Catalog,選擇StarRocks,單擊下一步

  3. 填寫參數配置資訊。

    重要

    Catalog建立完成後,以下配置資訊都不支援修改。如果需要修改,則您需要刪除掉已建立的Catalog,重新進行建立。

    配置項

    說明

    是否必填

    備忘

    catalog name

    StarRocks Catalog名稱。

    僅支援小寫字母a-z和數字0-9,不含大寫字母、中劃線(-)、底線(_)等特殊字元。

    endpoint

    StarRocks的FE(Front End)訪問地址。

    指定FE的IP和JDBC連接埠,格式為jdbc:mysql://ip:port。一般為9030。

    dbname

    訪問StarRocks的預設資料庫名稱。

    無。

    username

    訪問StarRocks的使用者名稱。

    無。

    password

    訪問StarRocks的密碼。

    為了避免您的密碼資訊泄露,建議您使用變數的方式填寫,詳情請參見專案變數

  4. 單擊確定

  5. 在左側中繼資料地區,查看建立的Catalog。

SQL命令

  1. 資料查詢文本編輯地區,輸入建立StarRocks Catalog的命令。

    CREATE CATALOG <catalogname> WITH (
      'type' = 'starrocks',
      'endpoint' = '<ip>:<port>', 
      'username' = '<userName>',
      'password' = '<password>',
      'dbname' = '<dbname>'
    );

    VVR 11及以上版本

    配置項

    說明

    是否必填

    備忘

    catalogname

    StarRocks Catalog名稱。

    僅支援小寫字母a-z和數字0-9,不含大寫字母、中劃線(-)、底線(_)等特殊字元。

    type

    類型。

    固定值為starrocks。

    endpoint

    StarRocks的FE(Front End)訪問地址。

    指定FE的IP和JDBC連接埠,格式為jdbc:mysql://ip:port。一般為9030。

    jdbc-url

    用於訪問FE節點上的MySQL伺服器。

    多個地址用英文逗號(,)分隔。格式:jdbc:mysql://<fe_host1>:<fe_query_port1>,<fe_host2>:<fe_query_port2>

    重要

    您可選擇配置jdbc-url和http-url(需同時配置) 或endpoint參數,兩種方式效果一致,任選其一即可。

    http-url

    用於訪問FE節點上的HTTP伺服器。

    多個地址用英文分號(;)分隔。格式:<fe_host1>:<fe_http_port1>;<fe_host2>:<fe_http_port2>

    重要

    您可選擇配置jdbc-url和http-url(需同時配置) 或endpoint參數,兩種方式效果一致,任選其一即可。

    username

    訪問StarRocks的使用者名稱。

    無。

    password

    訪問StarRocks的密碼。

    為了避免您的密碼資訊泄露,建議您使用變數的方式填寫,詳情請參見專案變數

    dbname

    訪問StarRocks的預設資料庫名稱。

    無。

    default-database

    訪問StarRocks的預設資料庫名稱。

    相容社區版本參數,效果同dbname。任選其一即可。

    table.num-buckets

    指定通過Catalog建立的表,每個分區預設包含的Bucket數。

    無預設值。

    table.char-expand-multiple

    指定通過Catalog建立的表,varchar和char類型長度相比於源表類型的長度擴大倍數。

    預設擴大為4倍。

    table.binary-padding

    指定通過Catalog建立的表,varbinary和binary類型長度相比於源表類型的擴大長度。

    預設擴大2個字元長度。

    table.key-type

    指定通過Catalog建立的表類型。

    參數取值如下:

    • PRI:主鍵表。

    • UNI:唯一鍵表。

    • AGG:彙總鍵表。

    • DUP:明細表。

    預設值為PRI。

    table.keys

    指定通過Catalog建立的表的key欄位。

    無預設值。

    table.distribution-keys

    指定通過Catalog建立的表的分布列(分桶鍵)。

    不配置時,主鍵表預設使用主鍵作為分桶鍵。

    重要

    請勿將此參數配置為空白字串(''),否則主鍵表會因分桶列為空白而報錯 Distribution column() doesn't exist。如需使用主鍵作為分桶鍵,不配置此參數即可。

    table.enable-null-primary-key

    支援將下遊可空列映射為主鍵。

    參數取值如下:

    • false(預設值)

    • true

    重要

    此參數強制將 StarRocks 的可空主鍵列視為非空。確保上遊輸入資料不含 NULL 值,否則會導致非預期問題。

    VVR 8及以下版本

    配置項

    說明

    是否必填

    備忘

    catalogname

    StarRocks Catalog名稱。

    僅支援小寫字母a-z和數字0-9,不含大寫字母、中劃線(-)、底線(_)等特殊字元。

    type

    類型。

    固定值為starrocks。

    endpoint

    StarRocks的FE(Front End)訪問地址。

    指定FE的IP和JDBC連接埠,格式為jdbc:mysql://ip:port。一般為9030。

    username

    訪問StarRocks的使用者名稱。

    無。

    password

    訪問StarRocks的密碼。

    為了避免您的密碼資訊泄露,建議您使用變數的方式填寫,詳情請參見專案變數

    dbname

    訪問StarRocks的預設資料庫名稱。

    無。

  2. 選中建立Catalog的代碼後,單擊左側程式碼數上的運行

    CREATE CATALOG starrocks WITH (
        'type' = 'starrocks',
        'endpoint' = '<ip>:<port>',
        'username' = '<userName>',
        'password' = '<password>',
        'dbname' = '<dbname>'
    );

查看StarRocks Catalog

StarRocks Catalog配置成功後,您可以通過以下步驟查看StarRocks中繼資料。

  1. 進入資料管理頁面。

    1. 登入Realtime Compute控制台

    2. 單擊目標工作空間操作列下的控制台

    3. 單擊資料管理

  2. Catalog列表頁面,查看Catalog名稱類型

    說明

    如果您需要查看Catalog下的資料庫和表,請單擊查看

使用StarRocks Catalog

從StarRocks表中讀取資料

VVR 11及以上版本

INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`

VVR 8及以下版本

說明

OPTIONS為必填項,用於配置讀取starrocks源表的參數。

INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`
    /*+
        OPTIONS('connector' = 'starrocks', 'jdbc-url' = 'jdbc:mysql://ip:port', 'scan-url' = 'ip:port')
    */

寫入結果資料至StarRocks表

VVR 11及以上版本

INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
SELECT ... 
FROM ${other_source_table}

VVR 8及以下版本

說明

OPTIONS為必填項,用於配置寫入starrocks結果表的參數。

INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
 /*+
        OPTIONS('connector' = 'starrocks', 'jdbc-url' = 'jdbc:mysql://ip:port', 'load-url' = 'ip:port', 'sink.buffer-flush.interval-ms' = '5000','sink.properties.row_delimiter' = '\x02',
'sink.properties.column_separator' = '\x01')
    */
SELECT ... 
FROM ${other_source_table}

作為CTAS&CDAS的目標端Catalog

use catalog sr_catalog;
CREATE TABLE IF NOT EXISTS `${table_name}`
WITH (
  ...
) AS TABLE ${other_source_table};
CREATE DATABASE IF NOT EXISTS `${db_name}`
WITH (
 ...
) AS DATABASE ${other_source_database};

詳情請參見基於Realtime ComputeFlink使用CTAS語句同步MySQL資料至StarRocks

刪除StarRocks Catalog

支援UI與SQL命令兩種方式刪除StarRocks Catalog,推薦使用UI方式刪除StarRocks Catalog。

UI方式

  1. 進入資料管理頁面。

    1. 登入Realtime Compute控制台

    2. 單擊目標工作空間操作列下的控制台

    3. 單擊資料管理

  2. Catalog列表頁面,單擊目標Catalog名稱對應操作列的刪除

  3. 在彈出的提示頁面中,單擊刪除

  4. 左側中繼資料地區下,查看目標Catalog是否已刪除。

SQL命令方式

  1. 資料查詢文本編輯地區,輸入以下命令。

    DROP CATALOG `<catalog name>`;

    其中,<catalog name>是您StarRocks Catalog的名稱。

    重要

    刪除StarRocks Catalog不會影響已啟動並執行作業,但對未上線或者作業需要暫停恢複的作業均產生影響,請您謹慎操作。

  2. 選中刪除Catalog的命令,滑鼠右鍵選擇運行

  3. 在左側中繼資料地區,查看目標Catalog是否已刪除。