亿级别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. apache -- xampp配置虚拟主机

    <VirtualHost *:80> ServerName www.myblog.com DocumentRoot "F:/Code/myblog"<Direct ...

  2. 远程连接mysql数据库提示:ERROR 1130的解决办法

    From: http://blog.sina.com.cn/s/blog_716844910100welz.html 在linux下使用mysql客户端连接远程mysql服务器报错: [root@Se ...

  3. 如何让View一直沿z轴旋转

    #import <QuartzCore/QuartzCore.h>... CABasicAnimation *rotationAni = [CABasicAnimation animati ...

  4. vs2008 调试时不会命中断点,源代码与原始版本不同,解决办法

    当前不会命中断点,源代码与原始版本不同,解决办法 1.应该是自己一行里写的代码太长了 格式化一下 或者 换下行 2. VC直接把整个文件格式化了一次,断点就可以用了 菜单:编辑-〉高级-〉设置选定内容 ...

  5. c++ vs 快捷方式

    强迫智能感知:Ctrl+J: 强迫智能感知显示参数信息:Ctrl-Shift-空格: Ctrl+E,D ----格式化全部代码 Ctrl+A+K+F Ctrl+E,F ----格式化选中的代码 Ctr ...

  6. win7 键盘

    请在任务栏的空白处右击,在弹出的选项中选择“工具栏”,再在“Table PC输入面板”选项中打勾,这里任务栏的最右边就会出现一个Table PC 输入面板”的图标

  7. SQL Server 查询数据库表的列数

    select count(*) from sysobjects a join syscolumns b on a.id=b.id where a.name='表名' go

  8. Hbase学习之javaApI封装

    http://qindongliang.iteye.com/blog/2096140  

  9. angular ajax的使用及controller与service分层

    一个简单的例子,控制层:.controller('publishController',['$scope','publishService', function($scope,publishServi ...

  10. 远程数据库备份到本地出现“Access denied for user 'root'@localhost(using password: YES)”的问题

    由于另外一个人在用远程的server做测试,导致我访问这个远程机器的mysql提示“too many connections”的问题,于是想到干脆把数据库当下来做测试好了,结果用heidiSQLs进行 ...