开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

如何使用dataworks数据集成的离线同步功能?

麻烦问下我们现在使用dataworks数据集成的离线同步功能,从mysql向maxcompute同步数据,使用id作为分片键,但是发现离线同步时拉取数据的batchsize过大,比如 "(1 <= id AND id < 52168)" 这种查询条件,会导致mysql出现慢查询日志,请问这个batchsize支持调整吗,或者有什么其他的解决方案?

展开
收起
回回回123 2023-03-07 16:36:01 563 0
2 条回答
写回答
取消 提交回答
  • id是主键么 看能不能多加一些并发 这样就会多拆分几个sql,mysql reader不支持fetchsize。最好是用分布均匀的整数索引字段作为切分键和过滤条件。此答案整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-03-09 09:18:27
    赞同 展开评论 打赏
  • 从事java行业8年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    官方文档中提到,BatchSize或maxfilesize参数控制一次性批量提交的记录数大小,该值可以减少数据同步与数据库网络交互次数,并提升吞吐量。但如果该值设置过大,会导致数据同步运行进程OOM异常。因此对于你说的由于batchSize过大导致Mysql出现慢查询的情况,建议可以调小maxCommitSize和batchSize的参数值。具体调小的方式可以参考

    {
        "type":"job",
        "version":"2.0",//版本号。
        "steps":[ 
            {
                "stepType":"stream",
                "parameter":{},
                "name":"Reader",
                "category":"reader"
            },
            {
                "stepType":"mysql",//插件名。
                "parameter":{
                    "postSql":[],//导入后的准备语句。
                    "datasource":"",//数据源。
                    "column":[//列名。
                        "id",
                        "value"
                    ],
                    "writeMode":"insert",//写入模式,您可以设置为insert、replace或update。
                    "batchSize":1024,//一次性批量提交的记录数大小。
                    "table":"",//表名。
                    "preSql":[ 
                         "delete from XXX;" //导入前的准备语句。
                       ]
                },
                "name":"Writer",
                "category":"writer"
            }
        ],
        "setting":{
            "errorLimit":{//错误记录数。
                "record":"0"
            },
            "speed":{
                "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
                "concurrent":1, //作业并发数。
                "mbps":"12"//限流,控制同步的最高速率,防止对上游/下游数据库读取/写入压力过大。
            }
        },
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        }
    }
    
    2023-03-07 17:56:57
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载