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是否已删除。