两张表全量比较,有没有好的比较少算法?

发布于 2021-12-02 08:20:05 字数 301 浏览 800 评论 8

现在从大数据那边每天拿到了约80万条数据,第一天的数据存到nosql中,接着拿第二天的数据,第二天的数据是在第一天的数据上添加或修改的结果,现在想从第二天的数据中找出,哪些数据在第一天数据上发送了修改或者添加。 这些数据中有 a b c 三个属性标识数据的唯一性,也就是说,如果第二天的某一条数据的a b c三个字段的属性跟第一天某一条数据的a b c三个属性一直,则认为他们是同一条数据,如果其他字段不相同,则认为发生了修改。如果第二天中某条数据 a b c 三个字段在第一天数据中找不到匹配则认为是新增。

那么问题来了,有没有什么好的解决方案能快速的实现比较?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

蓝颜夕 2021-12-04 18:56:31

八十万数据不多嘛,你在每天的表中添加一个字段,字段值为你的abc值按-分割的字符串,然后在第二天的表中查询这个字段值不在上一天的范围内的记录就行。

悟红尘 2021-12-04 18:14:18

回复
应该是要把当天的数据在整个历史数据中查询吧?

梦中楼上月下 2021-12-04 16:36:54

。。如果nosql没有联合索引的话 就自己写一个Btree的索引树吧,哈哈  再或者用搜索引擎做好前一天的数据的倒排表 也就是索引。都是方案啊,我觉得你这个需求要求不是实时性的,做索引会比较合适。

绝情姑娘 2021-12-04 16:15:58

想过这个方案,a b c做一个hash ,非a b c做一个hash

勿忘初心 2021-12-04 10:49:08

回复
abc hash 作为key,全部字段hash为val 第一天80w数据作为比较对象 第二天数据去比较。 这样有什么问题?

半世蒼涼 2021-12-03 14:51:34

回复
没什么问题!我现在是想问问大家有没有更快速的解决方案?

南汐寒笙箫 2021-12-03 11:13:39

回复
做hash理论上复杂度是O(N)的预处理,O(1)的查询,理论上感觉很难做到复杂度更低了:)

把回忆走一遍 2021-12-02 13:09:34

BI转储

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文