全部產品
Search
文件中心

Realtime Compute for Apache Flink:管理StarRocks Catalog

更新時間:Dec 04, 2025

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,重新進行建立。

    image

    配置項

    說明

    是否必填

    備忘

    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建立的表的分布欄欄位。

    無預設值。

    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的代碼後,單擊左側程式碼數上的運行

    image..png

查看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是否已刪除。