管理 Fluss Catalog

更新时间:
复制 MD 格式

配置 Fluss Catalog 后,可在实时计算开发控制台直接读取 Fluss 元数据,无需手动注册 Fluss 表,提高作业开发效率并保证数据的正确性。本文介绍如何创建、查看、使用及删除 Fluss Catalog。

前提条件

  • 已创建 Fluss 集群,具体操作请参见创建 Fluss 集群。

  • Fluss 集群与 Flink 工作空间位于同一地域且网络互通(位于同一 VPC 或已配置网络连通)。

使用限制

  • 不支持修改 Catalog。如需修改,需先删除已创建的 Catalog 再重新创建。

  • 密码方式创建的 Catalog 使用管理员身份连接 Fluss 集群,所有使用该 Catalog 的作业均以管理员权限访问数据,无法按用户隔离数据访问权限。

  • 免密方式创建的 Catalog 根据当前操作用户身份自动进行权限认证,不同用户使用同一个 Catalog 时,只能访问其在 Fluss 上被授权的数据。

创建 Fluss Catalog

根据 Fluss 集群版本的不同,创建 Catalog 的方式有所差异:

  • Fluss 集群版本低于 0.9-ali-5.0:仅支持密码方式创建 Catalog,需要使用管理员用户名和密码。

  • Fluss 集群版本为 0.9-ali-5.0 及以上:推荐使用免密方式创建 Catalog,无需输入用户名和密码,系统会根据当前操作用户身份自动完成权限认证。密码方式仍可用,但不推荐。

重要

Catalog 创建完成后,配置信息不支持修改。如需修改,需删除已创建的 Catalog 再重新创建。

免密方式

适用于 Fluss 集群版本为 0.9-ali-5.0 及以上。

  1. 登录实时计算控制台

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

  3. 在左侧导航栏,单击数据管理 > 创建 Catalog

    创建 Catalog对话框中,选择内置 Catalog页签,在 Catalog 类型列表中选择 Fluss,然后单击下一步

  4. 填写参数配置信息。

    配置项

    说明

    是否必填

    备注

    name

    Fluss Catalog 名称。

    请填写为自定义英文名。

    cluster

    Fluss 集群名称。

    从下拉列表中选择已创建的 Fluss 集群。系统自动配置连接地址和认证信息,无需手动填写用户名和密码。

  5. 单击确定。创建完成后,元数据下即可查看新建的 Catalog。

说明

免密方式创建的 Catalog 在 Flink 作业运行时,系统会根据当前操作用户身份自动完成 Fluss 集群的权限认证。不同用户使用同一个 Catalog 时,只能访问其在 Fluss 上被授权的数据,无需为每个用户单独创建 Catalog。

密码方式

适用于 Fluss 集群版本低于 0.9-ali-5.0。

UI 方式

  1. 登录实时计算控制台

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

  3. 在左侧导航栏,单击数据管理 > 创建 Catalog

    创建 Catalog对话框中,选择内置 Catalog页签,在 Catalog 类型列表中选择 Fluss,然后单击下一步

  4. 填写参数配置信息。

    配置项

    说明

    是否必填

    备注

    name

    Fluss Catalog 名称。

    请填写为自定义英文名。

    cluster

    Fluss 集群名称。

    从下拉列表中选择已创建的 Fluss 集群。选择后系统自动填充 bootstrap.servers

    default-database

    默认连接的数据库名称。

    默认值为 fluss,已预填。

    bootstrap.servers

    Fluss 集群的服务器地址列表。

    多个地址使用英文逗号(,)分隔。选择 cluster 后自动填充,也可手动填写。

    client.security.sasl.username

    Fluss 实例的管理员用户名。

    可通过 Fluss 控制台的集群详情进行查看。

    client.security.sasl.password

    Fluss 实例的管理员密码。

  5. 单击确定。创建完成后,元数据下即可查看新建的 Catalog。

SQL 方式

说明

SQL 方式依赖 Session 集群,且 Session 集群版本不能低于 VVR 11.7。低于该版本时无法通过 SQL 创建 Catalog,请使用 UI 方式。

数据查询文本编辑区域,输入以下命令。

CREATE CATALOG fluss_catalog WITH (
  'type' = 'fluss',
  'bootstrap.servers' = '<bootstrap.servers>',
  'default-database' = 'fluss',
  'client.security.protocol' = 'SASL',
  'client.security.sasl.mechanism' = 'PLAIN',
  'client.security.sasl.username' = '<username>',
  'client.security.sasl.password' = '<password>'
);

输入创建 Catalog 的代码后,单击右上角的运行完成 Catalog 创建。

参数说明如下:

参数

说明

是否必填

备注

type

Catalog 类型。

固定值为 fluss

bootstrap.servers

Fluss 集群的服务器地址列表。

可通过 Fluss 控制台的集群详情进行查看。

default-database

默认连接的数据库名称。

默认值为 fluss

client.security.protocol

安全认证协议。

固定值为 SASL

client.security.sasl.mechanism

SASL 认证机制。

固定值为 PLAIN

client.security.sasl.username

Fluss 实例的管理员用户名。

可通过 Fluss 控制台的集群详情进行查看。

client.security.sasl.password

Fluss 实例的管理员密码。

创建自定义 Catalog

Fluss 迭代快于实时计算 Flink。此处提供最新的自定义 Catalog 包,用于提前体验尚未随 VVR 版本发布的 Fluss Catalog 功能。

说明

仅当所需 Fluss 功能依赖的 VVR 版本尚未发布时使用自定义 Catalog。其余场景请使用内置 Fluss Catalog。

自定义 Catalog 仅支持通过控制台上传 JAR 包创建。创建后的使用方式与内置 Fluss Catalog 一致。

  1. 下载自定义 Catalog JAR 包:fluss-ali-vvr-11-0.9-ali-catalog-6.0.jar

  2. 创建 Catalog对话框中,选择自定义 Catalog页签。

  3. 单击创建自定义 Catalog 类型,上传已下载的 JAR 包,单击下一步

  4. 加载完成后,选择Catalog 类型fluss-latest,单击确认

  5. 选择此 Catalog,单击下一步,创建自定义 Catalog。

    CREATE CATALOG fluss_catalog WITH (
      'type' = 'fluss-latest',
      'bootstrap.servers' = '<bootstrap.servers>',
      'default-database' = 'fluss',
      'client.security.protocol' = 'SASL',
      'client.security.sasl.mechanism' = 'PLAIN',
      'client.security.sasl.username' = '<username>',
      'client.security.sasl.password' = '<password>'
    );

    参数

    说明

    是否必填

    备注

    type

    Catalog 类型。

    固定值为 fluss-latest

    bootstrap.servers

    Fluss 集群的服务器地址列表。

    可通过 Fluss 控制台的集群详情进行查看。

    default-database

    默认连接的数据库名称。

    默认值为 fluss

    client.security.protocol

    安全认证协议。

    固定值为 SASL

    client.security.sasl.mechanism

    SASL 认证机制。

    固定值为 PLAIN

    client.security.sasl.username

    Fluss 实例的管理员用户名。

    可通过 Fluss 控制台的集群详情进行查看。

    client.security.sasl.password

    Fluss 实例的管理员密码。

查看 Fluss Catalog

Fluss Catalog 配置成功后,按以下步骤查看 Fluss 元数据。

  1. 登录实时计算控制台

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

  3. 在左侧导航栏,单击数据管理

  4. Catalog 列表页面,查看 Catalog 名称和类型。

  5. 单击查看,查看目标 Catalog 下的数据库和表。

使用 Fluss Catalog

创建 Fluss 表

说明

Fluss Catalog 配置完成后,可在作业中引用 Fluss Catalog 表信息,作为源表、结果表和维表时无需声明表的 DDL。

数据查询文本编辑区域,输入以下建表语句。

语法

CREATE TABLE `${catalog_name}`.`${db_name}`.`${table_name}` (
  ...
);

示例

-- 创建主键表
CREATE TABLE `fluss_catalog`.`fluss`.`product` (
  shop_id BIGINT,
  user_id BIGINT,
  num_orders INT,
  total_amount INT,
  PRIMARY KEY (shop_id, user_id) NOT ENFORCED
) WITH (
  'bucket.num' = '4'
);
-- 创建日志表
CREATE TABLE `fluss_catalog`.`fluss`.`orders` (
  order_id BIGINT,
  item_id BIGINT,
  amount INT,
  address STRING
);

也可以先切换到目标 Catalog 和数据库,再创建表:

USE CATALOG fluss_catalog;
USE fluss;

CREATE TABLE product (
  shop_id BIGINT,
  user_id BIGINT,
  num_orders INT,
  total_amount INT,
  PRIMARY KEY (shop_id, user_id) NOT ENFORCED
) WITH (
  'bucket.num' = '4'
);

读写 Fluss 表

将源表数据写入 Fluss 表。

语法

INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
SELECT ...
FROM ${other_source_table};

示例

INSERT INTO `fluss_catalog`.`fluss`.`product`
SELECT shop_id, user_id, num_orders, total_amount
FROM source_table;

读取 Fluss 表数据写入结果表。

语法

INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`;

示例

INSERT INTO sink_table
SELECT shop_id, user_id, num_orders, total_amount
FROM `fluss_catalog`.`fluss`.`product`;

删除 Fluss Catalog

重要

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

UI 方式

  1. 登录实时计算控制台

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

  3. 在左侧导航栏,单击数据管理

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

  5. 在弹出的对话框中,单击删除

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

SQL 方式

数据查询文本编辑区域,输入以下命令。

DROP CATALOG ${catalog_name};

其中,${catalog_name} 为要删除的、在实时计算开发控制台上显示的 Fluss Catalog 名称。

选中删除 Catalog 的命令,单击右上角的运行

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