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>' );
配置項
說明
是否必填
備忘
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表中讀取資料
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')
*/
OPTIONS為必填項,用於配置讀取starrocks源表的參數。
寫入結果資料至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}
OPTIONS為必填項,用於配置寫入starrocks結果表的參數。
作為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&CDAS功能同步MySQL資料至StarRocks。
刪除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是否已刪除。