Serverless StarRocks访问Fluss(Beta)

更新时间:
复制为 MD 格式

本文介绍如何通过 Serverless StarRocks 查询 Fluss 中的数据。Fluss 支持通过 StarRocks External Catalog 机制,将 Fluss 注册为外部数据源,实现对 Fluss 数据的即席查询和分析。

使用限制

Serverless StarRocks 3.3.13-1.2.0 及以上版本。

操作步骤

步骤一:创建 Fluss Catalog

在 StarRocks 中执行以下 SQL,将 Fluss 注册为 External Catalog:

CREATE EXTERNAL CATALOG <catalog_name>[COMMENT <comment>]
PROPERTIES
("type" = "fluss",
    CatalogParams
);

参数说明

参数

是否必填

说明

catalog_name

Catalog 名称。只能包含字母、数字、下划线,且以字母开头,长度不超过 64 个字符。

comment

Catalog 描述信息。

type

数据源类型,固定为 fluss

bootstrap.servers

Fluss 集群的服务发现地址。可在 Fluss 实例详情页获取。

fluss.option.client.security.protocol

认证协议。阿里云上默认为 SASL

fluss.option.client.security.sasl.mechanism

SASL 认证机制。默认为 PLAIN(账号密码登录)。

fluss.option.client.security.sasl.username

SASL 认证的账号名。

fluss.option.client.security.sasl.password

SASL 认证的账号密码。

示例

CREATE EXTERNAL CATALOG `fluss_catalog`
PROPERTIES
("type"  =  "fluss","bootstrap.servers"  =  "internal.svc.cluster.local.fluss:9123","fluss.option.client.security.protocol"  =  "SASL","fluss.option.client.security.sasl.mechanism"  =  "PLAIN","fluss.option.client.security.sasl.username"  =  "xxx","fluss.option.client.security.sasl.password"  =  "xxx");

步骤二:查询 Fluss 数据

Catalog 创建完成后,您可以通过以下两种方式查询 Fluss 中的数据。

方式一:跨 Catalog 直接查询

使用三段式命名(Catalog.Database.Table)直接查询,无需切换上下文:

SELECT * FROM <catalog_name>.<database_name>.<table_name>;

方式二:切换到 Fluss Catalog 后查询

  1. 切换当前会话的 Catalog 和数据库:

    -- 切换 CatalogSET CATALOG <catalog_name>;-- 切换数据库USE <db_name>;

    或一步到位:

    USE <catalog_name>.<db_name>;
  2. 直接查询目标表:

    SELECT count(*) FROM <table_name> LIMIT 10;

相关操作

查看已创建的 Catalog

-- 查看所有 CatalogSHOW CATALOGS;-- 查看指定 Catalog 的创建语句SHOW CREATE CATALOG fluss_catalog;

查看 Fluss 表结构

DESCRIBE <catalog_name>.<database_name>.<table_name>;

查看 Fluss 数据库列表

SHOW DATABASES FROM <catalog_name>;

删除 Fluss Catalog

删除 Catalog 仅移除 StarRocks 中的映射关系,不会影响 Fluss 中的实际数据。

DROP CATALOG fluss_catalog;