Spark实例TopN---Spark学习笔记11

本文是Spark学习笔记的一部分,通过一个TopN的实际案例,展示了如何在Spark集群中处理大约7G的文件,找出IP地址出现最多的前N个及次数。作者首先介绍了环境,然后详细解释了如何通过正则表达式提取IP、过滤非IP地址、执行word count以及进行排序。整个过程大约耗时58秒,其中reduce操作占据了大部分时间。
摘要由CSDN通过智能技术生成

Spark是基于内存的分布式计算框架,性能是十分彪悍的。

话接上回,部署完Spark集群之后,想要测试一下,Spark的性能。

1、环境

集群概况可以参见Spark Hadoop集群部署与Spark操作HDFS运行详解

现在集群里有一大约7G的文件,是手机号和IP地址的组合。

hadoop dfs -dus /dw/spark/mobile.txt
hdfs://web02.dw:9000/dw/spark/mobile.txt        7056656190
里面我们关心的只有IP地址。
hadoop dfs -cat /dw/spark/mobile.txt | more 
2014-04-21      104497  15936529112     2       2011-01-11 09:58:47     0       0       2011-01-11 09:58:50     2011-01-19 09:58:50     61.172.242.36   2011-01-19 08:59:47     0
        0
2014-04-21      111864  13967013250     2       2010-11-28 21:06:56     0       0       2010-11-28 21:06:57     2010-12-06 21:06:57     61.172.242.36   2010-12-06 20:08:11     0
        0
2014-04-21      116368  15957685805     2       2011-06-27 17:05:55     0       0       2011-06-27 17:06:01     2011-07-05 17:06:01     10.129.20.108   2011-07-05 16:11:05     0
        0

2、count和TopN

2.1 count文件

spark可以很简单的实现类似sql中select count(1) from xxx  的功能。调用RDD 的count函数就好了。
进入spark-shell
 bin/spark-shell
scala> val data = sc.textFile("/dw/spark/mobile.txt")
14/05/14 17:23:33 INFO MemoryStore: ensureFreeSpace(73490) called with curMem=0, maxMem=308713881
14/05/14 17:23:33 INFO MemoryStore: Block broadcast_0 stored as values to memory (estimated size 71.8 KB, free 294.3 MB)
data: org.ap
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值