Spark常用算子

转换算子

value类型

算子名称 作用
Map映射 a->b
flatMap扁平化 [[a,b],[c,d]] -> [a,b,c,d] ,二维变一维
groupBy分组 [1,2,3,4] ->[[1,3],[2,4] ],一维变二维
filter过滤 [1,2,3,4] -> [2,4] 符合条件进入,不符合去掉
distinct去重 [1,1,2,2] -> [1,2] 去重过程中存在shuffle
sortBy排序 [1,3,2] -> [1,2,3] 排序

使用localhost:4040可以查看IDEA代码中算子的执行情况,可以使用Thread.sleep(10000)来睡眠一会,保证可以打开该网页。

key-value类型

算子名称 作用
mapValues 对value进行映射
groupByKey 对数据进行汇总,可以设置分区数量或分区器
reduceByKey 对数据进行汇总计算,底层会打散重分区,增加了预聚合
sortByKey 对Key进行排序,底层是Range分区
reduceByKey不能用于减法和除法运算,只能用于加法和乘法计算。

两种分区

  1. Hash分区:极端情况有可能导致数据倾斜,适合用于聚合。
  2. Range分区:尽量保证每个分区中数据量均匀,适合用于排序。使用Range分区器的算子有groupByKey, sortBy, cogroup.
相关推荐
okseekw几秒前
Java多线程开发实战:解锁线程安全与性能优化的关键技术
java·后端
Java天梯之路4 分钟前
Spring Boot 钩子全集实战(三):`EnvironmentPostProcessor` 详解
java·spring
无敌最俊朗@5 分钟前
STL-适配器(面试复习4)
java·面试·职场和发展
Han.miracle7 分钟前
《Spring MVC 响应机制综合实践:页面、数据、JSON 与响应配置》
java·spring·springboot
翼龙云_cloud13 分钟前
阿里云云渠道商:如何选择阿里云 GPU 配置方案?
服务器·人工智能·阿里云·云计算
MarkHD17 分钟前
智能体在车联网中的应用:第11天 CARLA自动驾驶仿真入门:从零安装到理解客户端-服务器架构
服务器·架构·自动驾驶
JHC00000019 分钟前
dy直播间评论保存插件
java·后端·python·spring cloud·信息可视化
SuperherRo23 分钟前
JAVA攻防-FastJson专题&面试不出网利用&BCEL字节码&C3P0二次&Impl链&延时判断
java·fastjson·不出网
TH_126 分钟前
18、删除WPSOfficeWord文档中的空白页
java
一雨方知深秋28 分钟前
数组定义及访问
java·数组·二维数组·for·length·定义访问