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操作中使用广播变量的值,最终输出结果。
相关推荐
一切顺势而行几秒前
kafka 面试总结
分布式·面试·kafka
IvanCodes11 分钟前
七、Hadoop 历史追踪、数据安全阀与 MapReduce初体验
大数据·hadoop·hdfs·mapreduce·yarn
lboyj38 分钟前
AI赋能高频PCB信号完整性优化
大数据·人工智能
SparkSql1 小时前
FlinkCDC采集MySQL8.4报错
大数据·flink
TDengine (老段)1 小时前
TDengine 在智慧油田领域的应用
大数据·数据库·物联网·时序数据库·iot·tdengine·iotdb
鸿乃江边鸟2 小时前
Starrocks 的 ShortCircuit短路径
大数据·starrocks·sql
斯普信云原生组2 小时前
Elasticsearch知识汇总之ElasticSearch部署
大数据·elasticsearch·jenkins
斯普信云原生组3 小时前
Elasticsearch知识汇总之ElasticSearch与OpenSearch比较
大数据·elasticsearch·搜索引擎
曾经的三心草4 小时前
RabbitMQ-高级特性1
分布式·rabbitmq·高级特性
玄武后端技术栈4 小时前
RabbitMQ事务机制
分布式·rabbitmq