文章目录
- Action算子
- 1.countByKey算子:统计key出现的次数(一般用在kv型RDD)
- 2.collect算子:将RDD各个分区的内容收集到Driver,形成一个list对象
- 3.reduce算子:对RDD数据按照你传入的逻辑进行聚合
- 4.fold算子:和reduce差不多,只是加上了一个初始值
- 5.first算子:就是取出第一个元素
- 6.take算子:取RDD前N个元素,返回一个list
- 7.top算子:对RDD数据集进行降序排序,取前N个
- 8.count算子:计算RDD有多少条数据,返回值是一个数字
- 9.takeSample算子:随机抽样RDD的数据
- 10.takeOrdered算子:对RDD数据排序之后取前N个
- 11.foreach算子:对RDD每一个元素,进行你提供的逻辑操作,和map差不多,只不过没有返回值![在这里插入图片描述](https://img-blog.csdnimg.cn/85f21323ff884a21abf66f0021e1d379.png)
- 12.saveAsTextFile:将RDD数据写入到文本文件中
- 13.mapPartitions算子:和map差不多,但是map是一个一个操作,而这里是一个分区一个分区一起操作,io效率更高
- 14.foreachPartition算子:分区,map,没返回值
- 15.partitionBy算子: 对RDD自定义分区操作
- 16.repartition算子:对RDD重新分区
- 总结:
Action算子
1.countByKey算子:统计key出现的次数(一般用在kv型RDD)
2.collect算子:将RDD各个分区的内容收集到Driver,形成一个list对象
3.reduce算子:对RDD数据按照你传入的逻辑进行聚合
4.fold算子:和reduce差不多,只是加上了一个初始值
5.first算子:就是取出第一个元素
6.take算子:取RDD前N个元素,返回一个list
7.top算子:对RDD数据集进行降序排序,取前N个
8.count算子:计算RDD有多少条数据,返回值是一个数字
9.takeSample算子:随机抽样RDD的数据
10.takeOrdered算子:对RDD数据排序之后取前N个
11.foreach算子:对RDD每一个元素,进行你提供的逻辑操作,和map差不多,只不过没有返回值![在这里插入图片描述](https://img-blog.csdnimg.cn/85f21323ff884a21abf66f0021e1d379.png)
12.saveAsTextFile:将RDD数据写入到文本文件中
13.mapPartitions算子:和map差不多,但是map是一个一个操作,而这里是一个分区一个分区一起操作,io效率更高
14.foreachPartition算子:分区,map,没返回值
15.partitionBy算子: 对RDD自定义分区操作
16.repartition算子:对RDD重新分区
总结:
1.groupByKey和reduceByKey的区别
首先,在功能上
其次,在性能上
上图一共会产生12次IO操作。
上图一共会产生6次IO操作。