本文介绍如何通过创建AnalyticDB Sink Connector,将数据从消息队列Kafka版实例的数据源Topic通过函数计算服务导出至云原生数据仓库AnalyticDB MySQL版或云原生数据仓库AnalyticDB PostgreSQL版。
前提条件
- 消息队列Kafka版
- 为消息队列Kafka版实例开启Connector。更多信息,请参见开启Connector。
- 为消息队列Kafka版实例创建数据源Topic。更多信息,请参见步骤一:创建Topic。
- 函数计算
- 云原生数据仓库AnalyticDB MySQL版和云原生数据仓库AnalyticDB PostgreSQL版
- 云原生数据仓库AnalyticDB MySQL版:在云原生数据仓库AnalyticDB MySQL控制台创建集群、数据库账号,连接集群并创建数据库。更多信息,请参见创建集群、创建数据库账号、连接集群和创建数据库。
- 云原生数据仓库AnalyticDB PostgreSQL版:在云原生数据仓库AnalyticDB PostgreSQL版控制台创建实例、数据库账号和登录数据库。更多信息,请参见创建实例、创建数据库账号和客户端连接。
注意事项
- 仅支持在同地域内,将数据从消息队列Kafka版实例的数据源Topic导出至函数计算,再由函数计算导出至云原生数据仓库AnalyticDB MySQL版或云原生数据仓库AnalyticDB PostgreSQL版。关于Connector的限制说明,请参见使用限制。
- 该功能基于函数计算服务提供。函数计算为您提供了一定的免费额度,超额部分将产生费用,请以函数计算的计费规则为准。计费详情,请参见计费概述。
- 函数计算的函数调用支持日志查询,以便您迅速排查问题。具体操作步骤,请参见配置日志。
- 消息转储时,消息队列Kafka版中消息用UTF-8 String序列化,暂不支持二进制的数据格式。
- 如果AnalyticDB Sink Connector接入点是私网接入点,函数计算运行环境默认无法访问,为确保网络畅通,需在函数计算控制台为函数服务配置与云原生数据仓库一致的VPC和vSwitch信息。更多信息,请参见更新服务。
- 创建Connector时,消息队列Kafka版会为您自动创建服务关联角色。
- 如果未创建服务关联角色,消息队列Kafka版会为您自动创建一个服务关联角色,以便您使用消息队列Kafka版导出数据至表格存储的功能。
- 如果已创建服务关联角色,消息队列Kafka版不会重复创建。
操作流程
使用AnalyticDB Sink Connector将数据从消息队列Kafka版实例的数据源Topic导出至云原生数据仓库操作流程如下:
- 可选:创建AnalyticDB Sink Connector依赖的Topic和Group
如果您不需要自定义Topic和Group,您可以直接跳过该步骤,在下一步骤选择自动创建。
重要 部分AnalyticDB Sink Connector依赖的Topic的存储引擎必须为Local存储,大版本为0.10.2的消息队列Kafka版实例不支持手动创建Local存储的Topic,只支持自动创建。 - 创建并部署AnalyticDB Sink Connector
- 服务配置
- 结果验证
创建AnalyticDB Sink Connector依赖的Topic
您可以在消息队列Kafka版控制台手动创建AnalyticDB Sink Connector依赖的5个Topic,包括:任务位点Topic、任务配置Topic、任务状态Topic、死信队列Topic以及异常数据Topic。每个Topic所需要满足的分区数与存储引擎会有差异,具体信息,请参见配置源服务参数列表。
创建AnalyticDB Sink Connector依赖的Group
您可以在消息队列Kafka版控制台手动创建AnalyticDB Sink Connector数据同步任务使用的Group。该Group的名称必须为connect-任务名称,具体信息,请参见配置源服务参数列表。
创建并部署AnalyticDB Sink Connector
- 登录消息队列Kafka版控制台。
- 在概览页面的资源分布区域,选择地域。
- 在左侧导航栏,单击Connector 任务列表。
- 在Connector 任务列表页面,从选择实例的下拉列表选择Connector所属的实例,然后单击创建 Connector。
- 在创建 Connector配置向导页面,完成以下操作。
- 创建完成后,在Connector 任务列表页面,找到创建的Connector ,单击其操作列的部署。
配置函数服务
您在消息队列Kafka版控制台成功创建并部署AnalyticDB Sink Connector后,函数计算会自动为您创建给该Connector使用的函数服务和函数,服务命名格式为kafka-service-<connector_name>-<随机String>,函数命名格式为fc-adb-<随机String>。
配置云原生数据库
您在配置完函数计算服务后,需要在云原生数据仓库控制台将函数计算服务所属的网段加入白名单。所属网段可以在专有网络管理控制台的交换机页面,函数计算服务对应的VPC和交换机所在行查看。
- 云原生数据仓库AnalyticDB MySQL版:登录云原生数据仓库AnalyticDB MySQL控制台,配置白名单。具体操作,请参见设置白名单。
- 云原生数据仓库AnalyticDB PostgreSQL版:登录云原生数据仓库AnalyticDB PostgreSQL版控制台,配置白名单。具体操作,请参见设置白名单。
发送测试消息
- 在Connector 任务列表页面,找到目标Connector,在其右侧操作列,单击测试。
- 在发送消息面板,发送测试消息。
- 发送方式选择控制台。
- 在消息 Key文本框中输入消息的Key值,例如demo。
- 在消息内容文本框输入测试的消息内容,例如 {"key": "test"}。
- 设置发送到指定分区,选择是否指定分区。
- 单击是,在分区 ID文本框中输入分区的ID,例如0。如果您需查询分区的ID,请参见查看分区状态。
- 单击否,不指定分区。
- 发送方式选择Docker,执行运行 Docker 容器生产示例消息区域的Docker命令,发送消息。
- 发送方式选择SDK,根据您的业务需求,选择需要的语言或者框架的SDK以及接入方式,通过SDK发送消息。
- 发送方式选择控制台。
验证结果
向消息队列Kafka版的数据源Topic发送消息后,登录云原生数据仓库AnalyticDB MySQL控制台或云原生数据仓库AnalyticDB PostgreSQL版控制台,连接数据库,进入数据管理DMS 5.0的SQL窗口界面,找到对应实例的表,验证数据导出结果。
