对约 35g 的数据去重

2020-02-04 10:23:01 +08:00
 fields
数据占了 35g 左右存储,有标识每条数据的 id,还剩大约 7g 空闲空间,需要对这 35g 的数据去重,内存是 8g 的.如何对数据进行去重?
4484 次点击
所在节点    问与答
34 条回复
coolcfan
2020-02-04 12:26:52 +08:00
跟 13 楼一样,看到是小写第一反应是 35 克数据……
suotm
2020-02-04 12:36:19 +08:00
取 3.5G 做好去重的脚本,然后开一个 64GB 内存的云主机跑
lululau
2020-02-04 12:36:41 +08:00
35g? 用什么称的?
hhhsuan
2020-02-04 12:39:39 +08:00
大小写很重要啊
netnr
2020-02-04 12:47:28 +08:00
直接执行开窗函数按 id 分组排序取大于 1 的项并删除,难道顶不住?
ofblyt
2020-02-04 13:19:18 +08:00
最近做饭做的,看到 35g 还想 35 克去重( zhong )是给什么去皮吗
yufeng0681
2020-02-04 13:28:10 +08:00
根据 id 第一位进行文件分拣(切割到),假设有 26 个字母,10 个数字; 估计每个文件 1G 左右,那样问题就变成了 1G 文件的处理
gfreezy
2020-02-04 14:08:20 +08:00
shell 里面 sort | uniq 就可以。内存不够的时候 sort 会自动交换到磁盘上。

https://unix.stackexchange.com/questions/383056/sort-huge-list-130gb-in-linux
fields
2020-02-04 14:34:54 +08:00
@lululau 电子秤吧
fields
2020-02-04 14:35:40 +08:00
@ofblyt 姜吧
fields
2020-02-04 14:55:15 +08:00
@gfreezy 存储有限的,都在数据库里
fields
2020-02-04 14:57:54 +08:00
@yufeng0681 id 是纯数字,剩余的空间只有 7 个 G
gfreezy
2020-02-04 16:02:47 +08:00
@fields 建个新表加上 unique key,重新 load 一下就可以
fuye
2020-02-05 09:44:08 +08:00
create table tmp(id bigint,unique key id ( id ))
insert into tmp select id from 你的表

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

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

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

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

© 2021 V2EX