在DataWorks中,你可以使用以下步骤在SQL中批量更新历史分区:
首先,在DataWorks中打开你的数据源,并选择“历史分区”选项卡。
找到你要更新的历史分区,并勾选“批量更新”选项。
在“批量更新”选项中,选择“SQL脚本”作为更新方式,并输入相应的SQL脚本。
在SQL脚本中,你可以使用类似于以下语句的代码来批量更新历史分区:
sql UPDATE <your_table> SET <column_name> = <new_value> WHERE ; 其中,<your_table>表示你要更新的表名,<column_name>表示要更新的列名,<new_value>表示要更新为的新值,表示更新时要满足的条件。
输入完SQL脚本后,点击“提交”按钮以执行批量更新操作。 需要注意的是,在批量更新历史分区时,你需要确保你的SQL脚本是正确的,并且能够正确地更新你想要更新的历史分区。同时,你还需要确保你的历史分区已经按照你想要的方式进行了划分,以便正确地进行更新操作。
如果脚本里是insert into/overwrite ds=调度参数替换分区值 这种格式的 可以在dw执行补数据 ,【补数据】
结合调度参数的使用后可以您可以针对周期任务进行补数据操作,选择业务时间补历史数据,或者未来时间区间的数据,调度参数会根据业务时间自动替换。 1.平台维度来看业务时间昨天的数据今天跑
补数据业务时间选择今天,会等待时间
补数据业务时间选择昨天,如果任务的定时时间是未来时间,如果没有选择立即运行,会出现等待时间。
2.是否并行:
指补数据的一段时间区间内,天维度的任务是否并发运行。也就是是否几天的任务一块跑。 3.小时任务补数据需要选择有实例生成的小时区间,否则会报错
4.节点不在生效时间内不生成实例 3.小时任务补数据需要选择有实例生成的小时区间,否则会报错
4.节点不在生效时间内不生成实例
【实时场景一:小时任务补数据是否并行】
小时任务补0~3点的数据,选择业务时间为一周,选择并行数3。
小时任务补0~3点的数据,选择业务时间为一周,选择不并行。
注意:
是否并行控制的是天维度小时任务多少天的实例是否并发执行,小时任务当天的实例是否并发执行与小时任务是否设置了自依赖有关。如果您需要小时分钟任务不并发执行,可将节点设置为自依赖。详情请参考文档:跨周期依赖
【实时场景二:同步任务每天将增量数写入到对应的分区中,新建的离线同步任务怎么将一段时间历史数据,写入到对应的分区中?】 结合调度参数发布生产后进行补数据操作。
【为什么补数据不能选择业务时间今天,或者业务时间选择今天出现了等待时间的情况】
业务时间昨天的数据,今天的周期实例会跑。 如果要重跑业务时间昨天的数据,可以重跑周期实例。 如果出现等待时间,请检查任务的定时时间是几点,补数据补的是历史数据,选择业务时间昨天不会出现这样的情况。
【注意事项】
如果下游节点依赖过多,可以选择海量补数据,选择需要补数据的节点所在项目,节点选中项目内不需要补数据的节点(白名单)及未选中项目但需要补数据的节点(黑名单)。 非并行补数据的场景下,如果补一个区间的数据任务,第一天有任务实例失败了,那么当天的补数据实例会被置为失败,第二天的任务实例也不会开始运行(只有当天的全部任务实例都成功,第二天的任务实例才会开始运行)。 补数据实例不会触发智能报警。 ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。