文档章节

Spark共享变量

仟昭
 仟昭
发布于 02/17 21:44
字数 369
阅读 10
收藏 0

概述

Spark程序的大部分操作都是RDD操作,通过传入函数给RDD操作函数来计算。这些函数在不同的节点上并发执行,但每个内部的变量有不同的作用域,不能相互访问,所以有时会不太方便,Spark提供了两类共享变量供编程使用——广播变量和计数器。

 

1. 广播变量

这是一个只读对象,在所有节点上都有一份缓存,创建方法是SparkContext.broadcast(),比如:

scala> val broadcastRef= sc.broadcast(Array(1, 2, 3))

broadcastRef: org.apache.spark.broadcast.Broadcast[Array[Int]] = Broadcast(0)

scala> broadcastVar.value

res0: Array[Int] = Array(1, 2, 3)

注意,广播变量是只读的,所以创建之后再更新它的值是没有意义的,一般用val修饰符来定义广播变量。

 

2. 计数器

计数器只能增加,是共享变量,用于计数或求和。

计数器变量的创建方法是SparkContext.accumulator(v, name),其中v是初始值,name是名称。

示例如下:

scala> val accum = sc.accumulator(0, "My Accumulator")

accum: org.apache.spark.Accumulator[Int] = 0

scala> sc.parallelize(Array(1, 2, 3, 4)).foreach(x => accum += x)

scala> accum.value

res1: Int = 10

© 著作权归作者所有

共有 人打赏支持
仟昭
粉丝 7
博文 72
码字总数 56545
作品 0
杨浦
私信 提问
Apache Zeppelin 中 Spark解释器

概述 Apache Spark是一种快速和通用的集群计算系统。它提供Java,Scala,Python和R中的高级API,以及支持一般执行图的优化引擎。Zeppelin支持Apache Spark,Spark解释器组由5个解释器组成。 ...

hblt-j
2018/11/22
0
0
Spark中文python文档

East 2015 (Nov 26, 2014) Spark wins Daytona Gray Sort 100TB Benchmark (Nov 05, 2014) Archive Download Spark Speed Run programs up to 100x faster than Hadoop MapReduce in memory,......

BryanYang
2015/01/22
0
1
Spark 配置

Spark提供了三种主要本地设置来配置系统: 环境变量 用来加载Spark的workers,可以在你的驱动程序或theconf/spark-env.shscript中设定。 Java系统属性 控制内部配置参数,可以通过编程方式设...

vincent_hv
2013/09/24
23.2K
5
Spark1.0.0伪分布安装指南

一、下载须知 软件准备: spark-1.0.0-bin-hadoop1.tgz 下载地址:spark1.0.0 scala-2.10.4.tgz 下载下载:Scala 2.10.4 hadoop-1.2.1-bin.tar.gz 下载地址:hadoop-1.2.1-bin.tar.gz jdk......

片刻
2014/07/21
0
4
【Spark】Spark Core 高级特性

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/gongxifacai_believe/article/details/86715204 1、Spark优化 (1)代码优化 1)如果一个RDD只使用一次,那么不赋值...

魏晓蕾
01/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如果让你写一个消息队列,该如何进行架构设计?

面试题 如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。 面试官心理分析 其实聊到这个问题,一般面试官要考察两块: 你有没有对某一个消息队列做过较为深入的原理的了解,或者...

李红欧巴
今天
4
0
错题

无知的小狼
今天
2
0
PowerShell因为在此系统中禁止执行脚本的解决方法

参考:window系统包管理工具--chocolatey 报错提示: & : 无法加载文件 C:\Users\liuzidong\AppData\Local\Temp\chocolatey\chocInstall\tools\chocolateyInstall.ps1,因为在此系统上禁止运...

近在咫尺远在天涯
今天
3
0
TP5 跨域请求处理

https://blog.csdn.net/a593706205/article/details/81774987 https://blog.csdn.net/wyk9916/article/details/82315700...

15834278076
今天
3
0
深入理解java虚拟机-Java内存区域与内存溢出异常

深入理解java虚拟机 Java内存区域与内存溢出异常 运行时数据区域 程序计数器 线程私有,内存小,是当前线程执行的字节码行号指示器,字节码解释器通过改变这个计数器的值来选取下一条需要执行...

须臾之余
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部