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服务端口
文档更新时间: 2024-07-22 23:29   作者:程少波