问答 查看内容
返回列表

数据增量更新与前置清理规则

401 1
发表于 2025-11-24 11:09:02 | 查看全部 阅读模式
抽取数据集,未设置主键和未设置前置清理规则的情况:
首次查询:select * from `table`  where dt>= '20250101'(假设现在数据集的数据为20250101-20251001)


增量更新sql : select * from `table`  where dt>= '20250501'

此时每次更新,都是直接执行增量sql。
我的问题点在于增量更新抽取到的数据会全部作为新增数据,但是因为没有设置主键,对于当前数据集中>=2025051的数据如何处理?
是直接先删除再新增吗,删除的时候没有主键,拿什么字段判断?或者是直接增量更新查到的数据全部作为新数据插入,那是否会存在两份一致的数据?
如果是直接删除dt>=20250501,那和前置规则设置dt>=0501是不是一样的效果
(上次提问没得到回复,再提问下)

评论1

观小瑜Lv.1 发表于 2025-11-24 14:27:27 | 查看全部
未设置主键和未设置前置清理规则,只会增加增量更新sql的数据,数据集中的历史数据不会被删除,会存在两份数据。
因此如果需要保证增量更新的是最新数据,建议设置前置清理规则,满足规则的数据将在更新前从数据集自动删除。例如前置清理规则设置为dt>=20250501

前置清理规则使用说明:https://docs.guandata.com/product/bi/428133737666969600
如何正确替换增量更新数据集的历史数据:https://docs.guandata.com/product/bi/428134176462471168

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去回复 去发帖 返回顶部
快速回复 返回顶部 返回列表