3天掌握Spark--RDD 共享变量

Posted 一只楠喃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3天掌握Spark--RDD 共享变量相关的知识,希望对你有一定的参考价值。

Spark之RDD 共享变量

Spark提供了两种类型的变量:
在这里插入图片描述

广播变量

广播变量允许开发人员在每个节点(Worker or Executor)缓存只读变量,而不是在Task之间传递这些变量
在这里插入图片描述
​ 可以通过调用sc.broadcast(v)创建一个广播变量,该广播变量的值封装在v变量中,可使用获取该变量value的方法进行访问。

在这里插入图片描述
累加器

Accumulator只提供了累加的功能,即确提供了多个task对一个变量并行操作的功能。但是task只能对Accumulator进行累加操作,不能读取Accumulator的值,只有Driver程序可以读取Accumulator的值。
创建的Accumulator变量的值能够在Spark Web UI上看到,在创建时应该尽量为其命名。
在这里插入图片描述
Spark内置了三种类型的Accumulator,分别是LongAccumulator用来累加整数型,DoubleAccumulator用来累加浮点型,CollectionAccumulator用来累加集合元素。

以上是关于3天掌握Spark--RDD 共享变量的主要内容,如果未能解决你的问题,请参考以下文章

3天掌握Spark--RDD概念及WordCount案例

3天掌握Spark-- RDD持久化

3天掌握Spark-- RDD Checkpoint

Spark RDD

五-上, Spark RDD 概述,五大属性,执行原理

Spark RDD初探