使用hadoop mapperreduce来统计大文件的行数-续1

使用前面的脚本与直接使用 wc –l 来计算大文件的行数进行比较,具体结果如下:

文件大小文件行数Wc –l 时间()Mapperreduce 时间()
5.8g24974404171
103g9600000002802172

可以看出,直接使用wc –l 进行统计的效率要比使用hadoop mapperreduce来统计高比较多,但因为使用hadoop mapperreduce统计时要把文件上传到hdfs上,而上传这个过程实际上会花费很长的时间,于是修改了代码去除了上传文件的过程(这两个文件在前面测试时已经上传到hdsf上了),具体脚本如下:

#!/bin/bash
file_name=$1
#删除结果目录
hadoop fs -rm -r /bigdata/output/test/
#统计行数
hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.1.jar -files count.sh -input /bigdata/input/test/$file_name -output /bigdata/output/test/ -mapper 'wc -l' -reducer "sh count.sh"


又重新对这两个文件进行了测试,具体结果如下:

文件大小文件行数Wc –l 时间()Mapperreduce 时间()
5.8g24974404171
103g9600000002802172

可以看到随着文件的增大,使用hadoop mapperreduce方式进行统计的效率比直接使用wc –l的方式要高,但前提是这些文件已经上传到hdfs上了。

附测试环境的hadoop配置:

两台namenode,三台datanode

配置都为2个物理cpu24核,内存为64g


转载于:https://my.oschina.net/u/914897/blog/614912

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值