spark-core编程2

  1. 常用聚合与获取数据算子
  • reduce:聚集RDD所有元素,先分区内聚合,再分区间聚合 ,如 rdd.reduce(+) 可对 RDD[Int] 类型数据求和。

  • collect:在驱动程序中以数组形式返回数据集所有元素。

  • foreach:分布式遍历RDD元素并调用指定函数 。

  • count:返回RDD中元素个数。

  • first:返回RDD的第一个元素。

  • take:返回RDD前n个元素组成的数组。

  • takeOrdered:返回RDD排序后的前n个元素组成的数组。

代码

结果

  1. 复杂聚合算子
  • aggregate:分区数据先与初始值聚合,再进行分区间聚合,可自定义聚合逻辑。

  • fold:是 aggregate 的简化版,按指定操作和初始值进行折叠操作。

代码

结果

  1. 特定功能算子
  • countByKey:统计 RDD[(K, V)] 中每种key的个数。

  • save相关算子:包括 saveAsTextFile 保存为文本文件、 saveAsObjectFile 保存为对象文件 、 saveAsSequenceFile (了解即可),用于将RDD数据保存为不同格式。

  1. 累加器:主要用于将Executor端变量信息聚合到Driver端。Driver程序定义变量后,Executor端每个Task都会有该变量副本,Task更新副本值后传回Driver端进行合并。文档通过简单示例展示了累加器的基本用法,还给出了自定义累加器实现wordcount的详细步骤,包括创建自定义累加器类,重写相关方法,以及在Spark程序中注册和调用自定义累加器。

代码

结果

  1. 广播变量:用于高效分发较大的只读对象到所有工作节点,供一个或多个Spark操作使用。以向所有节点发送较大只读查询表为例,说明了广播变量的应用场景。文档通过代码示例,展示了广播变量的使用过程,先创建广播变量,然后在RDD操作中使用广播变量的值,最终输出结果。
相关推荐
TDengine (老段)1 分钟前
TDengine 集群部署及启动、扩容、缩容常见问题与解决方案
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
青云交2 小时前
Java 大视界 -- Java 大数据机器学习模型在电商用户复购行为预测与客户关系维护中的应用(343)
java·大数据·机器学习·数据安全·电商复购·地域适配·边疆电商
贝塔西塔2 小时前
PySpark中python环境打包和JAR包依赖
大数据·开发语言·python·spark·jar·pyspark
保持学习ing3 小时前
day4--上传图片、视频
java·大数据·数据库·文件上传·minio·分布式文件系统·文件存储
加百力4 小时前
AI基建还能投多久?高盛:2-3年不是问题,回报窗口才刚开启
大数据·人工智能
Web3_Daisy6 小时前
想要抢早期筹码?FourMeme专区批量交易教学
大数据·人工智能·区块链·比特币
GeminiJM11 小时前
Elasticsearch混合搜索深度解析(上):问题发现与源码探索
大数据·elasticsearch·jenkins
桂成林13 小时前
基于Flink 1.20、StarRocks与TiCDC构建高效数据处理链路教程
大数据·flink
Leo.yuan13 小时前
数据清洗(ETL/ELT)原理与工具选择指南:企业数字化转型的核心引擎
大数据·数据仓库·数据挖掘·数据分析·etl
UI前端开发工作室14 小时前
数字孪生技术为UI前端提供新视角:产品性能的实时模拟与预测
大数据·前端