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方式
進入資料管理頁面。
登入Realtime Compute控制台,單擊目標工作空間操作列下的控制台。
單擊資料管理。
單擊建立Catalog,選擇StarRocks,單擊下一步。
填寫參數配置資訊。
重要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的密碼。
是
為了避免您的密碼資訊泄露,建議您使用變數的方式填寫,詳情請參見專案變數。
單擊確定。
在左側中繼資料地區,查看建立的Catalog。
SQL命令
在資料查詢文本編輯地區,輸入建立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的預設資料庫名稱。
是
無。
選中建立Catalog的代碼後,單擊左側程式碼數上的運行。

查看StarRocks Catalog
StarRocks Catalog配置成功後,您可以通過以下步驟查看StarRocks中繼資料。
進入資料管理頁面。
單擊目標工作空間操作列下的控制台。
單擊資料管理。
在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};刪除StarRocks Catalog
支援UI與SQL命令兩種方式刪除StarRocks Catalog,推薦使用UI方式刪除StarRocks Catalog。
UI方式
進入資料管理頁面。
單擊目標工作空間操作列下的控制台。
單擊資料管理。
在Catalog列表頁面,單擊目標Catalog名稱對應操作列的刪除。
在彈出的提示頁面中,單擊刪除。
左側中繼資料地區下,查看目標Catalog是否已刪除。
SQL命令方式
在資料查詢文本編輯地區,輸入以下命令。
DROP CATALOG `<catalog name>`;其中,
<catalog name>是您StarRocks Catalog的名稱。重要刪除StarRocks Catalog不會影響已啟動並執行作業,但對未上線或者作業需要暫停恢複的作業均產生影響,請您謹慎操作。
選中刪除Catalog的命令,滑鼠右鍵選擇運行。
在左側中繼資料地區,查看目標Catalog是否已刪除。