Spark_累加器

分布式共享只写变量

实现原理:

 累加器用来把Executor端变量信息聚合到Driver端,在Driver程序中定义的变量,在Executor端的每个Task都会得到这个变量的一份新的副本,每个task更新这些副本的值后,传回Driver端进行merge

// Spark默认就提供了简单数据聚合的累加器

scala 复制代码
   val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("spark")
    val sc = new SparkContext(sparkConf)
    val rdd = sc.makeRDD(List(1,2,3,4))

    val sumAcc: LongAccumulator = sc.longAccumulator("sum")

    rdd.foreach(
      num => {
        sumAcc.add(num)
      }
    )

    val value: lang.Long = sumAcc.value
    print(value)

还有double,collection类型累加器

少加的情况:

 转换算子中调用累加器,如果没有行动算子的话,那么不会执行

多加的情况:

 转换算子中调用累加器,行动算子多次执行导致多加

一般情况下,累加器会放置在行动算子中

相关推荐
真上帝的左手1 小时前
19. 大数据-概念
大数据·big data
法雅特吉他1 小时前
吉他日常保养完全指南:从环境参数到部位养护的系统化方案
大数据·经验分享·新媒体运营·学习方法·材质
xiancai_xianyu1 小时前
企业本体语义:设备保养与供应商评估,为什么需要统一的语义模型?
大数据·人工智能
shujudang1 小时前
企业级 APP 数据分析平台选型指南:业务评估与落地路径
大数据·数据挖掘·数据分析·移动开发
laboratory agent开发1 小时前
AI agent多知识源并存时,一致性为何总出偏差
大数据·人工智能
liuxiaowei32 小时前
Winform+WPF双框架实战:喷涂工艺SCADA上位机从0到1搭建(附采集监控源码+车间踩坑实录)
大数据·hadoop·wpf
黄焖鸡能干四碗2 小时前
IT数据架构规划设计方案(PPT文件)
大数据·网络·数据库·人工智能·架构·区块链
无忧.芙桃2 小时前
Kobbe 智能应用场景落地指南
大数据·人工智能
豆瓣鸡2 小时前
Elasticsearch IK 分词器自定义词典——扩展词、停用词、热更新、同义词
大数据·elasticsearch·搜索引擎