在 1000 万行的文件里面找相同的行,并且记录行数和重复次数,用前端的代码实现

2020-03-26 11:32:37 +08:00
 hechuanhua

咋搞?

2885 次点击
所在节点    程序员
16 条回复
Mithril
2020-03-26 11:33:31 +08:00
这文件传到前端确定不会撑爆用户浏览器?
hechuanhua
2020-03-26 11:34:37 +08:00
@Mithril 不知道,题目就是这样的,可以多种代码实现,但是我希望是 JS,不知道能不能解决
wednesdayco
2020-03-26 11:36:32 +08:00
老生常谈,先分片。再考虑找行的事情。
VDimos
2020-03-26 11:42:08 +08:00
算哈希呗
123444a
2020-03-26 11:51:33 +08:00
bloom filter, 浏览器必备
luckyrayyy
2020-03-26 11:57:40 +08:00
大流量查重请认准 bloom filter
asAnotherJack
2020-03-26 12:01:31 +08:00
先遍历每一行按哈希拆成一万份文件,再对每一个文件找出重复的,最后整合到一起?
robinlovemaggie
2020-03-26 12:02:53 +08:00
设计一款浏览器,自动实现文件实时逐行滚动读取,然后凭借一个强大的 AI 内核来完成记录分析,名字就叫:矩阵牌浏览器
reus
2020-03-26 12:03:21 +08:00
for 循环不会写?
xingyuc
2020-03-26 12:56:11 +08:00
先搞定提出问题的人
whatsmyip
2020-03-26 12:58:04 +08:00
分治,先哈希打散到文件,然后随便你怎么搞
dremy
2020-03-26 13:17:50 +08:00
纯 hash 费空间,1000w 的 int key 每个需要至少 3 个字节,一共 28MB,bloom filter 省大量空间,估计可以不到 100k
raymanr
2020-03-26 13:36:32 +08:00
@Mithril 我觉着既然前提是浏览器不会撑爆, 那就干脆再加个一前万个 key 的字典吧..
hetiansu5
2020-03-26 15:08:47 +08:00
@dremy 100K 也就 80W bit,全部占满了。
crella
2020-03-26 15:13:39 +08:00
逐行算出哈希值,按哈希值的前几个字母,分类并存到各个文件,然后各个文件内在继续比较。
0bit
2020-03-26 15:48:54 +08:00
HyperLogLog

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/656314

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX