亿级别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. perl readlink 函数-返回软链接指向的文件

    readlink 函数专门用于处理链接,可以返回该链接指向的文件的路径 代码示例: print readlink($prog) if (-f $prog && -l $prog):

  2. 刚刚完成了在vs2013中通过 ef连接mysql数据库的工作。感觉没有想象中的简单。试了n次终于成功。故记录成功的方法,希望可以帮到大家

    分两种情况,如果你是用entity framework 5.0的时候 mysql-connector-net的版本不是很重要. MySQL For VisualStudio的版本也不重要 (这个不装就 ...

  3. c++ json cpp

    一 编译链接 1 在相应官网下载jsoncpp 2 解压得到jsoncpp-src-0.5.0文件 3 打开jsoncpp-src-0.5.0 -> makefiles -> vs71 - ...

  4. BIEE多层表头报表的制作方法

    使用BIEE制作多层表头的报表大致分为以下的几种办法. 1.双层表头 这种比较容易实现,只需要在表格属性中勾选作为单独的行显示即可.这样通过修改文件夹标题,就可以实现双层表头的制作 2.多层表头的制作 ...

  5. 适配器模式(Adapter Pattern)----------结构型模式

    对象适配器模式的缺点是:与类适配器模式相比,要在适配器中置换适配着类的某些方法比较麻烦.如果一定要置换掉适配者类的一个或多个方法,可以先做一个适配者类的子类,在子类中将适配者类的方法置换掉,然后再把适 ...

  6. 安装SQL Server 2008数据库(带完整图解)

    方法/步骤   1 双击sql server 2008的.exe安装文件,进入[SQL Server 安装中心]. 2 点击界面左侧的[安装],然后点击右侧的[全新SQL Server 独立安装或向现 ...

  7. 你真的了解HTML吗?–雅虎面试题

    http://helloweb.wang/jingyan~jiqiao/589.html

  8. [java] java synchronized 关键字详解

    Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码.当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一 ...

  9. ios 开发之本地推送

    网络推送可能被人最为重视,但是本地推送有时候项目中也会运用到: 闲话少叙,代码如下: 1.添加根视图 self.window.rootViewController = [[UINavigationCo ...

  10. Linux wc 命令

    wc命令可以用来统计文件的行数 .单词数 .字符数,用法如下: [root@localhost ~]$ wc 1.txt # 统计文件的行数.单词数.字符数 2 4 24 1.txt [root@lo ...