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 共享变量的主要内容,如果未能解决你的问题,请参考以下文章