1 目标库配置
1.1 创建用户并赋权
2 补充说明
2.1 在软件页面中创建API客户端
进入 订阅-订阅管理 页面,新建订阅客户端,创建新的API订阅客户端
- 客户端名称:可自行填写
- 客户端类型:选择API客户端
- 容器:自行指定即可,一般默认为zcbus容器
- API类型:选择MAXCOMPUTE类型
2.2 添加maxcompute订阅客户端
2.2.1在订阅页面点击订阅管理,创建普通客户端
进入订阅-订阅管理页面,进行订阅客户端添加操作:
客户端名称:可自定义填写
客户端类型:选择普通客户端
容器:自行指定即可,一般默认为zcbus容器,需要与第二步中创建的API客户端在同一容器内
备注:可添加此订阅客户端详细介绍信息等。
2.2.2 进入订阅页面,选择数据库管理,点击新增,选择maxcompute
进入 订阅-数据库管理 页面,点击添加按钮,进行订阅端数据库配置,选择maxcomput模板后,点击保存。
2.3 订阅具体步骤
在订阅页面点击订阅管理,创建普通客户端
点开订阅界面,点击订阅管理按钮后进行订阅客户端添加操作:
客户端名称自定义,客户端类型选择普通客户端,容器选择正在运行的容器,备注可添加此订阅客户端详细介绍信息等。进入订阅页面,选择数据库管理,点击新增,选择maxcompute
订阅界面,点击数据库管理按钮,点击添加按钮,进行订阅端数据库配置,选择maxcomput模板后,点击保存。
填写目标端信息
注:新增参数forcecommitcache用来控制每次load数据量的大小,起到限制后台内存资源占用的作用。
标签可自定义填写数据库说明信息或运行的业务名称,以此来分别不同的订阅段数据库。
数据库主机IP、数据库名、数据库用户、数据库连接用户密码、客户端服务IP等根据实际情况填写。
service_port添加说明:
目标端为maxcompute时需要配置api推送服务,点击添加API服务自行添加
客户端名称自定义,状态选择启动,备注可添加此订阅客户端详细介绍信息等。
添加完成后,可在对应容器中查看进程状态
打开容器界面,双击进入对应容器中,可根据页面上方过滤条件迅速找到对应新创建的客户端。
填写完后进行测试连接,显示测试成功后继续配置:通道配置,绑定目标端数据类型
数据库类型选择maxcompute,主控可选择已有的主控信息,也可进行新增(新增时控制名自定义,传输目标选择对应的目标端数据库信息),可配置通道数,库名表名根据需求选择大小写或默认,如不需要修改通道属性,可再此界面直接开启全量订阅。
绑定完成后可根据客户需求修改对应通道属性参数。点击数据表选项,对同步目标表进行配置
修改完对应的库名、表名后,修改订阅表属性开启全量订阅:
此处也可根据需求直接开启增量订阅,在配置类型按钮下可进行对应配置:
1.开启增量订阅[时间]:根据时间,开启增量订阅。
2.开启增量订阅[偏移量]:根据offset偏移量,开启增量订阅。
3.表名大小写调整:调整目标端表明大小写。
4.批量保存[库名]:批量保存目标端库名。
5.批量保存[表名]:批量保存目标端表名,可给表名添加前后缀。
6.数据清理方式:选择目标端同步时数据清理方式,可选择truncate、only truncate、drop。
7.批量配置列:可选择订阅配置列,配置后目标端订阅时只会同步配置的列。
8.配置ApplyByKey:配置ApplyByKey,为没有主键的表配置可作为主键的列(不会自动建主键,只是作为delete和update的where条件)。
9.DDL跳过表属性:跳过订阅的DDL语句,可选择配置跳过条数。
10.DML跳过表属性:跳过订阅的DML语句,可选择配置跳过条数。修改完成后开启订阅通道
订阅界面,并发总控下为订阅链路开关。
数据验证
页面监控验证:
订阅链路最后方有监控界面,可详细查询增量/全量订阅信息,记录插入/更新/删除/DDL/装载大小/延迟/生产时间/ZC时间/入库时间
目标库查询验证:
可用其他工具连接到目标库进行数据查询。
2.4 测试目标数据库MAXCOMPUTE通道属性参数列表
注:此处参数为客户现场使用,后续测试完其他参数后再进行补充
序号 | 参数名 | 值 | 描述 |
---|---|---|---|
1 | audit_mode | 开启 | 设置为开启(1)时,开启审计模式: 1.自动添加ZCBUS_SOURCE_OPTYPE列记录操作类型 2.全量只建表不建主键和索引,增量ddl全部过滤 3.所有dml操作自动转为insert操作,insert操作的类型是insert;update操作拆分为2条,before值的操作类型是updatebefore,after值的操作类型为update;delete操作的类型是delete |
2 | column_type | *:* |string | 数据类型映射 |
3 | full_sql_mode | load方式 | 全量装载时使用SQL模式,0位load方式装载,1位sql绑定方式加载,2位直接使用sql语句加载,默认为0,load方式加载 |
4 | partition_keys | dt={YYYY-MM-DD} | 设置分区列,每天会自动添加分区,当天数据会入到当天分区中 |
5 | real_sql_mode | load方式 | 增量装载时使用sql模式,0为load方式装载,1为sql绑定方式装载,2为直接使用sql方式装载,默认为1,sql绑定方式加载 |
6 | audit_op_type | insert:Insert,delete:Delete,update:Update,updatebefore:UpdateBefore | 审计模式时(audit_mode=1),ZCBUS_SOURCE_OPTYPE列填充的操作类型映射,格式:insert:I,delete:D,update:U,updatebefore:UB |
7 | merge_kafka_message | 1 | 默认0,单包加载处理,设置为1时,增量消费时同一个表连续的小包会进行合并,目前是insert和delete的小包会合并,最多合并成5M |
8 | merge_kafka_message_max_len | 50 | merge_kafka_message设置为1时,可以在这里设置merge后最大的包大小,单位M,默认是5,最小是5,最大上限根据数据库类型不同:hive: 1024;其他类型: 10,此参数修改,需要重启服务才能生效 |
9 | ZCBUS_SOURCE_OPTIME_DATE | dt_date | 是否添加源端commit时间信息列(只包含日期信息),格式:1. 0为不添加列,1为添加列,使用ZCBUS_SOURCE_OPTIME_DATE默认列名;2. 填写除了0和1之外的值均为添加列,所填值设置为自定义列名 |
10 | ZCBUS_SOURCE_OPTIME_TIME | dt_time | 是否添加源端commit时间信息列(只包含时分秒信息),格式:1. 0为不添加列,1为添加列,使用ZCBUS_SOURCE_OPTIME_TIME默认列名;2. 填写除了0和1之外的值均为添加列,所填值设置为自定义列名 |
11 | ZCBUS_SOURCE_OPTYPE | optype | 是否添加操作类型列,全量期间默认为INSERT/增量跟进实际操作类型记录,0不添加,1添加,兼容C |
12 | split_afterclient_threads | 3 | 后台Java进程中分配的线程数(仅目标端为MaxCompute时生效) |
2.5 配置目标数据库参数列表
序号 | 参数名 | 参考值 | 是否隐藏 | 描述 |
---|---|---|---|---|
0 | label | - | NO | 标签 |
1 | db_type | maxcompute-api | NO | 数据库类型 |
2 | host | NO | 数据库主机IP | |
3 | db_name | NO | 数据库名 | |
4 | user | NO | 数据库用户 | |
5 | password | NO | 数据库链接用户密码 | |
6 | service_host | 127.0.0.1 | NO | API服务端口 |
7 | service_port | NO | API服务端口 |