**场景一:同步任务使用公共调度(WAIT)资源时,一直在等待状态。场景示例 在DataWorks中对任务进行测试时,出现任务一直等待的状态,同时提示系统内部错误。 例如使用默认资源组,完成从RDS同步数据至MaxCompute的任务,共等待了约800秒,但是日志显示任务只运行了18秒。现在运行其它同步任务进行测试,也一直处于等待中 。显示的等待日志如下所示。2017-01-03 07:16:54 : State: 2(WAIT) | Total: 0R 0B | Speed: 0R/s 0B/s | Error: 0R 0B | Stage: 0.0%解决方法 因为您使用的是公共调度资源,公共资源能力是受限的。可能不只是单个用户的2~3个任务在使用,很多项目也在使用。任务实际运行10秒,但是延长到800秒,是因为您的任务下发执行时,发现资源不足,需等待获取资源。 如果您对同步速度和等待时间比较敏感,建议在低峰期配置同步任务。通常,晚上零点到3点同步任务较多,您可以避开零点到3点的时间段,便可相对减少等待资源的情况。场景二:提高多个任务导入数据到同一张表的同步速度。场景示例 想要将多个数据源的表同步至一张表中,所以将同步任务设置成串行任务,但是最后发现同步时间很长。解决方法可以同时启动多个任务,同时往一个数据库写入数据,请注意以下问题:确保目标数据库负载能力是能够承受的,避免不能正常工作。在配置工作流任务时,可以选择单个任务节点配置分库分表任务,或在一个工作流中设置多个节点同时执行。如果任务执行时,出现等待资源(WAIT)情况,可以低峰期配置同步任务,保证任务有较高的执行优先级。场景三:数据同步任务where条件没有索引,导致全表扫描同步变慢。场景示例执行的SQL如下所示。select bid,inviter,uid,createTime from relatives where createTime>='2016-10-2300:00:00'and reateTime<'2016-10-24 00:00:00';从2016-10-25 11:01:24.875开始执行,到2016-10-25 11:11:05.489开始返回结果。同步程序在等待数据库返回SQL查询结果,MaxCompute需等待很久才能执行。分析原因 where条件查询时,createTime列没 https://help.aliyun.com/document_detail/137789.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。