大数据量的比较,该如何处理
大数据量的比较我有两个数据集,记录达10亿条,因为数据来自不同的文件或数据表,所以有一些差异。我的任务是
大数据量的比较
我有两个数据集,记录达10亿条,因为数据来自不同的文件或数据表,所以有一些差异。
我的任务是要找出这些差异的数据,并放到一个差异数据集中。
如A数据集(学号,姓名,科目,成绩)
B数据集(学号,姓名,科目,成绩)
差异:主要来自于成绩,如同一人,同一科目,成绩可能不同,当然,这里我们要
允许一定的误差,如成绩可以相差+-2分,都认为没有问题,不会输出到差异数据集中。
[解决办法]
10亿的数据 你只有每次查询10W或者100W数据 这样效率更高些 查询出来一次的集合就
添加到 你的差异数据集中去 这样就实现了
[解决办法]
成绩最好搞了,就是桶的原理,因为成绩就100种可能,你准备100个长度的数组(桶),桶里放链表。
链表里存放学号整数就行了。不需要差异,如果非要差异的话,你就准备50个长的数组。
[解决办法]
你的有问题,因为数据是乱序的,必须先排序
[解决办法]如果有差异,就准备50个长数组,是什么意思?
能说详细点吗?
谢谢
[解决办法]自已顶一下,请大家指点
[解决办法]upup, 见另外一个问题上的回复
[解决办法]A数据集,按成绩分成100份 a[100]
B数据集,按成绩分成100份。b[100]
从a[n] 中拿出一条数据 (学号 i ,学科 j) 去 b[n-1] b[n-1] b[n] b[n+1] b[n+2] (+-2分的误差) 中查找,有没有(学号为i,学科为j)的数据,没有,则放到差异数据中去
[解决办法]应该是101 份。 还有零分的。
A数据集,按成绩分成101份 a[101]
B数据集,按成绩分成101份。b[101]
从a[n] 中拿出一条数据 (学号 i ,学科 j) 去 b[n-2] b[n-1] b[n] b[n+1] b[n+2] (+-2分的误差) 中查找,有没有(学号为i,学科为j)的数据,没有,则放到差异数据中去