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.
相关推荐
怪兽源码13 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
恒悦sunsite13 小时前
Redis之配置只读账号
java·redis·bootstrap
梦里小白龙13 小时前
java 通过Minio上传文件
java·开发语言
人道领域13 小时前
javaWeb从入门到进阶(SpringBoot事务管理及AOP)
java·数据库·mysql
Meaauf13 小时前
VMware安装中科方德服务器操作系统
运维·服务器·中科方德
sheji526113 小时前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法
mftang13 小时前
现代互联网安全的基石: SSL/TLS技术介绍
服务器·网络·ssl
毕设源码-邱学长13 小时前
【开题答辩全过程】以 基于Java Web的电子商务网站的用户行为分析与个性化推荐系统为例,包含答辩的问题和答案
java·开发语言
坐怀不乱杯魂13 小时前
Linux网络 - 网络层
linux·服务器·网络
j_xxx404_13 小时前
Linux:命令行参数与环境变量
linux·运维·服务器