前置条件
AWS 环境使用 AutoMQ Table Topic 功能,需要满足如下条件:- 版本约束: 要求 AutoMQ 实例版本 >= 1.4.1。
- 实例约束: 必须在创建 AutoMQ 实例时开启 Table Topic 特性,后续才可使用 Table Topic。实例一旦创建完成,后续无法再开启 Table Topic 功能。
- 资源要求: 在 AWS 上使用 Table Topic,可以使用 AWS Glue 作为 Data Catalog,也可以使用 AWS S3 Tablebucket 作为 Data Catalog。
操作步骤
步骤 1:创建 Glue Catalog 集成
使用 Table Topic 前,需要前往 AutoMQ 控制台创建 Glue Catalog 集成,用于录入 Catalog 信息。操作说明如下:- 登录 AutoMQ 控制台,点击集成 菜单。

-
选择创建 Glue Catalog 集成 ,填写如下信息:
- 名称: 填写有区分度的集成配置名称。
- 部署配置: 选择集成归属的部署配置,需要后续创建实例保持一致。
- Warehouse :填写数据湖使用的对象存储 Bucket,该 Bucket 用于长期存储数据。

- 填写 Warehouse 参数后,AutoMQ 会生成访问该 Bucket 所需的 IAM Policy,并展示 AutoMQ 实例使用的 IAM Role。请前往云厂商 IAM 控制台,参考该 Policy 创建授权。
- 创建授权完成后,即可点击创建 Glue Catalog 集成。
步骤 2:创建 AutoMQ 实例,开启 Table Topic 功能
使用 AutoMQ Table Topic 功能需要在创建实例时提前开启,后续才可实现数据流式入湖。因此创建实例时需要参考下方说明配置:注意:AutoMQ 实例开启 Table Topic 后,并非所有 Topic 都会默认开启流转表,仍然需要按 Topic 粒度按需配置实现流式数据入湖。如需使用 Table Topic,必须在创建实例时提前开启 Table Topic。实例一旦创建,即无法更改此配置。

步骤 3:创建 Topic,并配置流转表
AutoMQ 实例开启 Table Topic 功能后,即可在创建 Topic 时按需配置流转表。具体操作如下:- 进入步骤 2 的实例,Topic 列表,点击创建 Topic 。
-
创建 Topic 的配置中,开启 Table Topic 转换,并配置如下参数:
- 命名空间: 命名空间用于隔离不同的 Iceberg 表,对应 Data Catalog 中的 Database。建议根据业务归属设置相应的参数值。
- Schema 约束类型: 设置 Topic 消息是否遵守 Schema 约束。如果选择Schema 则启用 Schema 约束,需要向 AutoMQ 内置 SchemaRegistry 注册消息 Schema,后续发送消息时严格按照 Schema,后续 Table Topic 会使用该 Schema 的字段填充 Iceberg 表;如果选择Schemaless ,则代表消息内容无明确 Schema 约束,此时会将消息 Key 和 Value 作为整体字段填充 Iceberg 表。

- 点击确定 ,创建支持流转表的 Topic。
步骤 4: 生产消息,并实时查询 Iceberg 表数据
完成 AutoMQ 实例配置以及 Table Topic 创建后,即可测试生产数据,并在 Iceberg 表查询数据。- 点击进入 Topic 详情,生产消息 Tab,输入测试的消息 Key 和消息 Value,发送消息。
- 前往 AWS Glue 控制台,查看 AutoMQ 写入的 Iceberg 数据库和表。

- 点击 View Data ,启用 AWS Athena 查询 Glue 中的表数据,可以看到 AutoMQ 实时将 Kafka 消息转换成对应数据表的数据记录。用户也可以使用其他查询引擎进行分析和计算。
