Accumulator累加器(一)
累加器
应用场景:Driver端定义一个共享变量,将数据累加到该变量上,如果直接用foreach或map等迭代算子, 是无法将累加的变量返回到driver端,因为累加的过程发生在Executor端。一般用于计数场景下,变量往往声明在Driver端。
特性: 变量在Driver端,累加的过程是在Executor端,在累加的过程Executor端是无法读取其值的,如果想读取其值,
只能在Driver端才能读取。
自定义累加器使用(此例子为非自定义累加器):
1.创建一个Accumulator累加器的实例
2.通过sc.register()注册一个累加器
3.通过累加器实名.add来添加数据
4.通过累加器实例名.value来后去累加器的值
import org.apache.spark.{SparkConf, SparkContext}object AccumlatorDemo {def main(args: Array[String]): Unit = {val conf = new SparkConf()conf.setAppName(this.getClass.getName).setMaster("local[2]")val sc = new SparkContext(conf)val numsRdd = sc.parallelize(List(1,2,3,4,5,6))//var sum :Int= 0//numsRdd.map(x=>sum+=x)//0//numsRdd.foreach(x=>sum+=x)//0//sum=numsRdd.reduce(_+_)//21//使用accumulator实现给共享变量的聚合值的过程val sum =sc.accumulator(0)numsRdd.foreach(x=>sum+=x)println(sum)sc.stop()}
}
Accumulator累加器(一)相关推荐
- Spark 之 Accumulator 累加器
Spark Accumulator 累加器作用 源码 累加器原理图 Spark中累加器的执行流程: 累加器使用demo spark ui 使用累加器中可能遇到的坑 线程安全问题 累加器作用 累加器:分 ...
- Spark Accumulator累加器
什么是累加器 累加器用来对信息进行聚合 1 算子在计算时,不会影响到driver里的变量的值(driver里的变量称之为共享变量) 2 算子使用的其实都是driver里的变量的一个副本 3 如果想要影 ...
- Flink的累加器和广播变量、广播流、分布式缓存
1.Accumulator累加器 Accumulator即累加器,与Mapreduce counter的应用场景差不多,都能很好地观察task在运行期间的数据变化.可以在Flink job任务中的算 ...
- java 累加器_09-flink-Accumulator(累加器)
09-flink-Accumulator(累加器) 概念 Accumulator(累加器):累加器主要作用在用户操作(operate)中收集分布式统计信息或聚合信息.每个并行实例创建并更新其自己的累加 ...
- Spark一路火花带闪电——Accumulator Broadcast
文章目录 Accumulator累加器 Accumulator简介 陷阱及解决办法 Broadcast广播变量 Accumulator累加器 Accumulator简介 Accumulator是spa ...
- 网络工程师_记录的一些真题_2014上半年上午
1. 在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是(1). (1)A.程序计数器 B.状态寄存器 C.通用寄存器 D.累加寄存器 [答案]D [解析] ...
- 家电 计算机和电讯领域 英语,网络通讯及计算机英语词汇.doc
网络通讯及计算机英语词汇 0-9 3DDS 三维数字交互宽带网络系统 A absolute positioning 绝对寻址 abstract windows toolkit 抽象窗口工具库 accu ...
- splice方法_[7000字]JavaScript数组所有方法基础总结
基础决定一个人的上限,很多时候我们感叹别人在实现一个功能时使用方法的精妙,并且反思,为什么别人想的出来自己却想不出来?我觉得主要是因为对于基础的掌握上有很大的差距.本文总结数组的所有方法的基础使用,希 ...
- Spark使用总结与分享
背景 使用spark开发已有几个月.相比于python/hive,scala/spark学习门槛较高.尤其记得刚开时,举步维艰,进展十分缓慢.不过谢天谢地,这段苦涩(bi)的日子过去了.忆苦思甜,为了 ...
最新文章
- android数据库降级_android——数据库版本升/降级问题
- 记录到二进制的内容配置
- Concurrent HTTP connections in Node.js
- 存储优化 - 删除重复记录只保留单条
- TCPClient、TCPListener的用法
- Problem Statement
- sql server权限_保护SQL Server审核的访问权限
- jquery 常用方法 集锦
- 「Algospot」量化QUANTIZE
- 决策树 Decision Tree
- telegram bots 开发者文档 简介
- firefox 3.0 beta 1 试用与下载
- 微信记录删了,怎么恢复找回来?5种攻略推荐
- 大学计算机课思维导图,快速记忆和理解大学计算机思维导图
- 苹果笔记本没有计算机管理员,Mac管理员账户丢失怎么办
- matlab求包络线拟合,MATLAB 一堆散点如何求包络线
- ms office excel2013教程 - 分类汇总
- Win系统 - 如何彻底删除文件 / 文件夹?
- [USACO06NOV]玉米田Corn Fields
- 利用python库moviepy,快速剪辑视频
热门文章
- nginx: [emerg] “location“ directive is not allowed here in /usr/local/nginx/conf/nginx.conf:72
- linux指定分区label,Linux_Linux中分区挂载和LABEL的指定,让Linux开机就挂载分区,我知 - phpStudy...
- Makefile学习之 all
- java continu语句
- 公开在线视频流(rtsp、stmp)
- HCIA---day02
- ASP下使用md5加密注册信息
- Linux学习笔记1(鸟哥的私房菜)
- 第三章第三节、他是一个箍桶匠
- ISIS之LSP详解