当前位置: 首页 > news >正文

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.
http://www.lryc.cn/news/196429.html

相关文章:

  • day35
  • js原型链以及实现继承的手段
  • jdk8u201版本cpu.load过高问题的排查和解决
  • 【计算机网络笔记】数据交换之报文交换和分组交换
  • 【广州华锐互动】利用VR开展细胞基础实验教学有什么好处?
  • 基于SSM+Vue的咖啡销售系统
  • L2-026 小字辈
  • linux 查看系统版本
  • Python实现PDF转换文件格式
  • 【Ceph Cluster】完全删除Ceph集群
  • 4.Vue-Vue调用第三方接口
  • 大语言模型在推荐系统的实践应用
  • 第三章 交换技术及应用
  • 地震勘探原理部分问题解答
  • 两个步骤轻松搞定批量合并视频
  • VR虚拟现实在室内设计仿真教学中的应用演示
  • Python操作串口通信
  • 图详解第四篇:单源最短路径--Dijkstra算法
  • CRMEB多商户商城系统阿里云集群部署教程
  • Java第三方登录封装工具类
  • BUUCTF学习(四): 文件包含tips
  • 德国人工智能公司【Kodex AI】完成160万欧元融资
  • LeetCode 2 两数相加
  • springboot项目启动失败,不打印报错详细信息(启动打印日记问题)
  • MyBatis (where、set、foreach)标签
  • flutter开发之安装dart
  • 向量召回:深入评估离线体系,探索优质召回方法
  • 播放器缓存队列bug解决方案
  • React拖拽实践
  • Stable Diffusion绘图,lora选择