亿级别G级别文本数据去重

文件总行数 字节数 去重后行数

[root@d mongoexport]# wc -l superpub-ask-question.csv
126530681 superpub-ask-question.csv
[root@d mongoexport]# awk '!a[$0]++{print $0}' superpub-ask-question.csv | wc -l
63657205
[root@d mongoexport]# head -5 superpub-ask-question.csv
question
用海容模块建大棚成本高不高??
海容模块建房在南方适合吗?
用海容模块建房、墙体不都是泡沫嘛?后期怎么处理呢?
融资公司担保公司律师师事务所联合诈骗 亚洲创金资本有限公司,另一家担保公司,项目数据分析律师事务
[root@d mongoexport]# tail -5 superpub-ask-question.csv
长沙理工大学成考几月收学费
长沙理工大学成考几月收学费
长沙理工大学成考几月收学费
成都文理学院金堂校区专科和洪河校区专套本哪个好?
福州中亭街哪家店有卖职业装?
[root@d mongoexport]# ll -ash
total 7.3G
12K drwxr-xr-x 2 root root 12K Dec 17 15:10 .
4.0K drwxr-xr-x 4 root root 4.0K Nov 29 15:09 ..
205M -rw-r--r-- 1 root root 205M Dec 17 14:26 question.txt
7.1G -rw-r--r-- 1 root root 7.1G Dec 17 11:18 superpub-ask-question.csv

[root@d mongoexport]# cat superpub-ask-question.csv -n | tail -5
126530677 长沙理工大学成考几月收学费
126530678 长沙理工大学成考几月收学费
126530679 长沙理工大学成考几月收学费
126530680 成都文理学院金堂校区专科和洪河校区专套本哪个好?
126530681 福州中亭街哪家店有卖职业装?
[root@d mongoexport]#

209044 -rw-r--r-- 1 root root 214059578 Dec 17 14:26 question.txt
7358204 -rw-r--r-- 1 root root 7534793787 Dec 17 11:18 superpub-ask-question.csv

Total count:[126000000] Unique count:[66566614] FreeMemory:[372555496] ..
Total count:[126530684] Unique count:[66843173] FreeMemory:[369157728] ..
Total cost:[108852] ms ..

[root@d TestCardinality]# java -jar target/bigdata-1.0-SNAPSHOT-jar-with-dependencies.jar /data/bigdata/mongoexport/superpub-ask-question.csv -Xms10M -Xmx10M
Total count:[1000000] Unique count:[539926] FreeMemory:[420330832] ..
Total count:[2000000] Unique count:[1081544] FreeMemory:[470348776] ..

Total count:[126000000] Unique count:[66566614] FreeMemory:[367467784] ..
Total count:[126530684] Unique count:[66843173] FreeMemory:[364070000] ..
Total cost:[54606] ms ..
[root@d TestCardinality]#

126530681 superpub-ask-question.csv
[root@d mongoexport]# awk '!a[$0]++{print $0}' superpub-ask-question.csv | wc -l
63657205

Total count:[126530684] Unique count:[66843173] FreeMemory:[369157728] ..

误差比
总记录数

(126530684-126530681)/126530681=2.3709664535829063e-8

去重记录数

(66843173-63657205)/63657205=0.05004882008250284

python  list  set  去重后的文件

[root@d mongoexport]# cat superpub-ask-question.csv-distinct -n |tail
54390018 眼睛扎进一枚小铁屑,如果去厦门医院看要多少钱,现在不会痛能过几天去看吗,已经有六七天了
54390019 幻想神域镰刀配法书怎么样
54390020 自开票系统客户端打开提示伺服器配置界面,,然后到文件夹启动一下就提示重新注册了,怎么解决啊,里面的
54390021 室内的绿萝,在没有浇水的情况下,为什么会有水滴呢?
54390022 我告知冷的,可我的理论知识一点都不会,我现在该怎么办啊?
54390023 实木复合门复合的味道对人体有害吗
54390024 做现磨豆浆要做配个什么样的小吃卖比较好啊?
54390025 怎样在画图工具里打出来点阵字体,就是字占小格子的那种形式
54390026 帽子正着戴好好还是反着戴好
54390027 肛周脓肿缩小成局部皮下小硬核,请问还[root@d mongoexport]#

3.4G -rw-r--r-- 1 root root 3.4G Dec 17 16:46 superpub-ask-question.csv-distinct
[root@d selfPlatformAskAnswerProjeect]# cd ../mongoexport/
[root@d mongoexport]# ll -as
total 11066932
12 drwxr-xr-x 2 root root 12288 Dec 17 15:10 .
4 drwxr-xr-x 5 root root 4096 Dec 17 16:29 ..
4 -rw-r--r-- 1 root root 133 Nov 29 17:47 diskRoomMonitor.py
209044 -rw-r--r-- 1 root root 214059578 Dec 17 14:26 question.txt
7358204 -rw-r--r-- 1 root root 7534793787 Dec 17 11:18 superpub-ask-question.csv
3499664 -rw-r--r-- 1 root root 3583648979 Dec 17 16:46 superpub-ask-question.csv-distinct
[root@d mongoexport]# awk '!a[$0]++{print $0}' superpub-ask-question.csv-distinct | wc -l
54390027
[root@d mongoexport]# wc -l superpub-ask-question.csv-distinct
54390026 superpub-ask-question.csv-distinct
[root@d mongoexport]#

Total count:[53000000] Unique count:[53246465] FreeMemory:[362177968] ..
Total count:[54000000] Unique count:[54312366] FreeMemory:[390427384] ..
Total count:[54390027] Unique count:[54680098] FreeMemory:[356065008] ..
Total cost:[44043] ms ..

误差比
总记录数

0

去重记录数

(54680098-54390027)/54390027=0.005333165214277243

亿级别G级别文本数据去重的更多相关文章

  1. C#大数据文本高效去重

    C#大数据文本高效去重 转载请注明出处 http://www.cnblogs.com/Huerye/ TextReader reader = File.OpenText(@"C:\Users ...

  2. C#实现大数据量TXT文本数据快速高效去重

    原文 C#实现大数据量TXT文本数据快速高效去重 对几千万的TXT文本数据进行去重处理,查找其中重复的数据,并移除.尝试了各种方法,下属方法是目前尝试到最快的方法.以下代码将重复和不重复数据进行分文件 ...

  3. Python之读写文本数据

    知识点不多 一:普通操作  # rt 模式的 open() 函数读取文本文件 # wt 模式的 open() 函数清除覆盖掉原文件,write新文件 # at 模式的 open() 函数添加write ...

  4. Linux基础篇,文本数据的比较与排序:sort、uniq、comm、diff

    一.sort sort命令用于将文本文件内容以行排序 sort [选项参数] [-o<输出文件>] [-t<分隔字符>] [+<起始栏位> -<结束栏位> ...

  5. NLP相关问题中文本数据特征表达初探

    1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发 ...

  6. hadoop mapreduce实现数据去重

    实现原理分析: map函数数将输入的文本按照行读取,   并将Key--每一行的内容   输出    value--空. reduce  会自动统计所有的key,我们让reduce输出key-> ...

  7. java 两个csv文件数据去重

    1.pom.xml配置 <dependency> <groupId>commons-io</groupId> <artifactId>commons-i ...

  8. MapReduce将HDFS文本数据导入HBase中

    HBase本身提供了很多种数据导入的方式,通常有两种常用方式: 使用HBase提供的TableOutputFormat,原理是通过一个Mapreduce作业将数据导入HBase 另一种方式就是使用HB ...

  9. shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中

    shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...

随机推荐

  1. C#多播委托/多播代理

    定义:委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针.理解委托的一种方式可以把委托的作用当作是给方法签名指定名称.委托的定义类似于方法的定义,但没有方法体,定义的委托名前要加上关 ...

  2. 转载:【原译】Erlang列表处理(Efficiency Guide)

    转自:http://www.cnblogs.com/futuredo/archive/2012/10/22/2734186.html List handling 1  Creating a list ...

  3. CentOS系统资源常用命令

    系统: # uname -a   # 查看内核/操作系统/CPU信息 # cat /etc/issue # cat /etc/redhat-release # 查看操作系统版本 # cat /proc ...

  4. linux下如何关闭防火墙、查看当前的状态、开放端口

    从配置菜单关闭防火墙是不起作用的,索性在安装的时候就不要装防火墙查看防火墙状态:/etc/init.d/iptables status暂时关闭防火墙:/etc/init.d/iptables stop ...

  5. ThinkPHP Mongo驱动update方法支持upsert参数

    Mongo数据库update操作有一个相对于Mysql的关键特性,它可以使用upsert模式,当更新的数据不存在时,直接插入,但是ThinkPHP的Mongo驱动居然不支持这一特性,没办法,自力更生了 ...

  6. Oracle居然把Java EE的未来押在Rest API上了

        然而Lehman并不赞同Rahman对Java EE 9的说法,所以他重申Oracle暂时专注于Java EE 8."我们正在倾全力推出EE 8,现在这是我们主要的关注点," ...

  7. spring xml properties split with comma for list

    在注入spring bean 属性值的时候常常会用到list, 一般使用方式例如以下: <bean id="testBean" class="com.mytest. ...

  8. swift - 移除界面上的所有元素

    下面代码可以遍历移除页面视图上的所有元件: //清空所有子视图 func clearViews() { for v in self.view.subviews as [UIView] { v.remo ...

  9. 为什么说在js当中所有类的父类是Object类

    代码如下所示: function Parent(add,net,no,teacher) { this.add = add; this.net = net; this.no = no; this.tea ...

  10. mysql concat

    CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式. 第一个参数是其它参数的分隔符.分隔符的位置放在要连接的两个字符串之间. 分隔符可以是一个字符 ...