Fluss Catalog是一种External Catalog,自StarRocks 3.3.13-1.2.0版本开始支持。本文为您介绍如何创建和查看Fluss Catalog。
背景信息
通过Fluss Catalog,您可以:
直接查询Apache Fluss里的数据。
基于Fluss Catalog,结合INSERT INTO能力对Fluss数据源的数据实现转换和导入。
创建Fluss Catalog
语法
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
"type" = "fluss",
CatalogParams
);参数说明
catalog_name:Fluss Catalog的名称,必选参数。命名要求如下:必须由字母(a~z或A~Z)、数字(0~9)或下划线(_)组成,并且只能以字母开头。
总长度不能超过64个字符。
comment:Fluss Catalog的描述。此参数为可选。type:数据源的类型。设置为fluss。CatalogParams:StarRocks访问Fluss集群元数据的相关参数配置。属性
是否必须
说明
bootstrap.servers
是
Fluss集群的服务发现地址
fluss.option.client.security.protocol
是
Fluss集群的认证协议,云上默认采用SASL
fluss.option.client.security.sasl.mechanism
是
SASL认证的机制,默认采用PLAIN机制账号密码登录
fluss.option.client.security.sasl.username
是
Sasl认证的账号名
fluss.option.client.security.sasl.password
是
Sasl认证的账号密码
示例
以下示例创建了一个名为fluss_catalog的Fluss Catalog,用于查询Fluss数据源里的数据。
CREATE EXTERNAL CATALOG `fluss_catalog`
PROPERTIES
(
"type" = "fluss",
"bootstrap.servers" = "internal.svc.cluster.local.fluss:9123",
"fluss.option.client.security.sasl.mechanism" = "PLAIN",
"fluss.option.client.security.sasl.password" = "xxx",
"fluss.option.client.security.protocol" = "SASL",
"fluss.option.client.security.sasl.username" = "xxx"
)查看Fluss Catalog
您可以通过SHOW CATALOGS查询当前StarRocks集群中的所有Catalog。
SHOW CATALOGS;您也可以通过SHOW CREATE CATALOG查询某个External Catalog的创建语句。
SHOW CREATE CATALOG fluss_catalog;删除Fluss Catalog
您可以通过DROP CATALOG删除某个External Catalog。例如,通过如下命令删除名为fluss_catalog的Fluss Catalog。
DROP CATALOG fluss_catalog;查看Fluss表结构
您可以通过如下方法查看Fluss表的表结构。
DESC[RIBE] <catalog_name>.<database_name>.<table_name>;查询Fluss表数据
方法一:跨 Catalog 直接查询
无需切换上下文,直接使用三段式命名空间查询。
SELECT * FROM <catalog_name>.<database_name>.<table_name>;方法二:设置会话级默认 Catalog 和 Database
通过
SHOW DATABASES查看指定Catalog所属的Fluss Catalog中的数据库。SHOW DATABASES FROM <catalog_name>;选择目标数据库。
-- 通过 SET CATALOG切换当前会话生效的Catalog。 SET CATALOG <catalog_name>; -- 通过use指定数据库 USE <db_name>;或一步到位:
USE <catalog_name>.<db_name>;通过
SELECT查询目标数据库中的目标表。SELECT count(*) FROM <table_name> LIMIT 10;