Spark入门之基础知识(三)键值对操作

本文介绍了Spark中键值对RDD的基础操作,包括创建、转化和行动操作。重点讲解了reduceByKey、groupByKey、mapValues、join、repartition等关键函数的用法,以及在实际生产中的应用。
摘要由CSDN通过智能技术生成

键值对RDD在实际生产中很常用,通常用来进行聚合计算,并且Spark对键值对RDD也提供了新的操作接口可以做更多操作,本文简单介绍一些键值对RDD的基础操作。

如何创建Pair RDD

1)键值对格式的数据可以直接读入,返回Pair RDD
2)使用map()把一个普通的RDD转化为Pair RDD
读取text文件,取每行文本的第一个单词做key,该行文本做value

val lines = context.textFile("text")
lines.map(x => (x.split(" ")(0), x))

Pair RDD的转化操作

Pair RDD也是RDD,对RDD可用的操作对于Pair RDD也可用。

首先创建出一个Pair RDD

scala>  val data = sc.parallelize(List(1,2,3,4,4))
data: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[7] at parallelize at <console>:24

scala> val data2 = data.map(x => (x,1))
data2: org.apache.spark.rdd.RDD[(Int, Int)] = MapPartitionsRDD[8] at map at <console>:26

scala> data2.take(10)
res16: Array[(Int, Int)] = Array((1,1), (2,1), (3,1), (4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值