Catalog提供了元數據信息,例如數據庫、表、分區以及數據庫或其他外部系統中存儲的函數和信息。配置StarRocks Catalog后,您可以在實時計算開發控制臺直接讀取StarRocks元數據,無需再手動注冊StarRocks表,提高作業開發的效率且保證數據的正確性。本文為您介紹如何在創建、查看、使用及刪除StarRocks Catalog。
使用限制
僅實時計算引擎VVR-6.0.6-Flink-1.15及以上版本支持配置StarRocks Catalog。
不支持通過Catalog創建和修改StarRocks表。
創建StarRocks Catalog
支持UI與SQL命令兩種方式配置StarRocks Catalog,推薦使用UI方式配置StarRocks Catalog。
UI方式
進入元數據管理頁面。
登錄實時計算控制臺,單擊目標工作空間操作列下的控制臺。
單擊元數據管理。
單擊創建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};
刪除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是否已刪除。