Spark RDD
新建工程


-
修改 pom scala 版本2.11.8 spark 版本 2.4.3

-
准备 input.txt 文件

-
运行 wordcount

SparkRDD 详解
1.SparContext
spark代表和一个集群的连接
spark shell 中已经为我们准备好 sparkContext
2.RDDs
弹性分布式数据集
Spark 中所有的计算都是通过RDD的创建,转换,操作完成的
- 如何得到一个RDD
- 1 通过加载外部数据集
如下 lines 就是一个数据集,一个RDD是由一个或多个分片组成的(Partitions)

- 2.通过Spark的parallelize方法

RDD 转换操作 rdd- >rdd
只做转换不产生结果
- map 接受一个函数,并应用到rdd的每一项,产生新的rdd

- filter 通过函数过滤RDD

- flatMap 摊平操作 将原本每行数据中的单词 最终整合在一个rdd中


RDD 集合运算
-
distinct 去重

-
union 联合

-
intersection 交集

-
substract 找出 rdd1 里面rdd2没有的元素

Action 操作
Action是结束运算,最终生成一个结果,将结果返回
-
reduce 接受一个函数 作用的rdd两个类型相同的元素上并返回新的元素

-
Collect 遍历整个rdd 并返回最终结果
-
take(n) 返回rdd的个元素
-
top(n) 返回rdd的top个元素
-
foreach 配合 println 使用
元组 RDDs
-
map方法 构建

-
手动构建

元组 RDDs api
- reduceByKey 接受一个函数 计算 key 相同的value
例如 wordcount中的


- groupByKey

- mapValues(func) 作用于RDD 每一个元组的value

- flatMapValues(func) 根据某个func 不全或过滤values
- keys
- values
- sortByKey

-combineByKey (重点)
最常使用的基于key的聚合函数 返回类型可以与输入类型不同
本文详细介绍了Spark RDD的基本概念、创建方式及主要操作,包括转换操作如map、filter和flatMap,以及Action操作如reduce、collect等。同时,探讨了元组RDDs的构建与API使用,如reduceByKey、groupByKey和sortByKey等。
4496

被折叠的 条评论
为什么被折叠?



