管理StarRocks Catalog

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方式

  1. 进入元数据管理页面。

    1. 登录实时计算控制台,单击目标工作空间操作列下的控制台

    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>'
    );

    配置项

    说明

    是否必填

    备注

    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. 登录实时计算控制台

    2. 单击目标工作空间操作列下的控制台

    3. 单击元数据管理

  2. 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};

详情请参见基于实时计算Flink使用CTAS&CDAS功能同步MySQL数据至StarRocks

删除StarRocks Catalog

支持UI与SQL命令两种方式删除StarRocks Catalog,推荐使用UI方式删除StarRocks Catalog。

UI方式

  1. 进入元数据管理页面。

    1. 登录实时计算控制台

    2. 单击目标工作空间操作列下的控制台

    3. 单击元数据管理

  2. Catalog列表页面,单击目标Catalog名称对应操作列的删除

  3. 在弹出的提示页面中,单击删除

  4. 左侧元数据区域下,查看目标Catalog是否已删除。

SQL命令方式

  1. 查询脚本文本编辑区域,输入以下命令。

    DROP CATALOG `<catalog name>`;

    其中,<catalog name>是您StarRocks Catalog的名称。

    重要

    删除StarRocks Catalog不会影响已运行的作业,但对未上线或者作业需要暂停恢复的作业均产生影响,请您谨慎操作。

  2. 选中删除Catalog的命令,鼠标右键选择运行

  3. 在左侧元数据区域,查看目标Catalog是否已删除。