spark学习笔记

scala> val t= sc.textFile("README.md") 

一、找出文件中单词数量最多的行的方法: 

1.t.map(line => line.split(" ").size).reduce((a, b) => if (a > b) a else b)

2.import java.lang.Math  

t.map(line => line.split(" ").size).reduce((a, b) => Math.max(a, b)

二、计算所有/某个单词的数量

t.map(l => l.split(" ").size).reduce(_+_)

t.filter(line => line.contains("b")).count()

三、统计词频

val wordCounts = t.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b) 
wordCounts.collect()
res1: Array[(String, Int)] = Array((For,5), (processing.,1), (Programs,1), (Because,1), (The,1), (agree,1), (cluster,9)...


四、采样-随机选择20%的记录,构造一个新的RDD

def sample(withReplacement: Boolean, fraction: Double, seed: Long = Utils.random.nextLong): RDD[T]
t.sample(true,0.2).count()

...






链接:

理解Spark的核心RDD:http://www.infoq.com/cn/articles/spark-core-rdd/

Action算子:http://www.myexception.cn/other/1961287.html
使用 Spark API 写独立的应用程序,使用 Scala( SBT):http://www.51studyit.com/html/notes/20150123/1094.html
Quick Start:http://blog.csdn.net/luyee2010/article/details/39291139
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值