发布网友 发布时间:2022-04-22 21:47
共1个回答
热心网友 时间:2022-04-10 03:10
这题考的是大数据去重,数据量大于内存,即无法直接在内存中去重,那么有两个方案:
1、内存外去重
也就是将数据存入数据库,然后利用数据库进行排序并去重。
优缺点:
1)优点:简单直接
2)缺点:消耗大
2、算法去重
题目中说明是20G数据,假设每行数据是1k,则数据行数是20M(如果每行数据是512字节,则数据行数是40M),可使用MD5对每行数据进行映射,获得16字节映射吗,即总共需要内存空间320M(或0M),满足内存内去重的需求。
优缺点:
1)优点:在内存内进行处理,速度明显比内存为要快。
2)缺点:需要进行额外的编码,程序复杂度和效率要求较高。