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操作中使用广播变量的值,最终输出结果。
相关推荐
河南博为智能科技有限公司4 小时前
高集成度国产八串口联网服务器:工业级多设备联网解决方案
大数据·运维·服务器·数据库·人工智能·物联网
i***66505 小时前
分布式推理框架 xDit
分布式
哈哈哈笑什么5 小时前
分布式事务实战:订单服务 + 库存服务(基于本地消息表组件)
分布式·后端·rabbitmq
哈哈哈笑什么5 小时前
完整分布式事务解决方案(本地消息表 + RabbitMQ)
分布式·后端·rabbitmq
无代码专家6 小时前
设备巡检数字化解决方案:构建高效闭环管理体系
java·大数据·人工智能
天远数科6 小时前
Node.js 原生加密指南:详解 Crypto 模块对接天远银行卡黑名单接口
大数据·api
LDG_AGI6 小时前
【推荐系统】深度学习训练框架(十):PyTorch Dataset—PyTorch数据基石
人工智能·pytorch·分布式·python·深度学习·机器学习
expect7g6 小时前
Paimon Branch --- 流批一体化之二
大数据·后端·flink
tanxiaomi6 小时前
Redisson分布式锁 和 乐观锁的使用场景
java·分布式·mysql·面试
天远云服6 小时前
高并发风控实践:AES 加密与银行卡风险标签清洗的 Go 语言实现
大数据·api