Spark 累加器

首页 » Spark » Spark 累加器

累加器只能在Driver定义初始化,不能在Executor端定义初始化。

accumulator相当于集群总统筹大变量
累加器取值accmulator.value 只能在Driver读取,不能在Executor端.value读取值,可以直接accumulator读取值,但没有意义。

Spark 累加器
Spark 累加器
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
object 累加器 {
  
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local").setAppName("test")
    val sc=new SparkContext(conf)
    //accumulator相当于集群总统筹大变量
    val acc=sc.accumulator(0)
    
    val rdd1=sc.textFile("words")
    var i=0
    val rdd2=rdd1.map(line=>{
      i+=1
      acc.add(1)
      println("---"+acc)
      line
    });
    rdd2.collect()
    println("i="+i)
    println("acc="+acc.value)
    
  }
}

Spark 累加器

分享到:
赞(0) 打赏

评论 4

评论前必须登录!

 

  1. #1

    记住这个网站了

    hello8个月前 (03-28)
  2. #2

    可以

    努力8个月前 (03-28)
  3. #3

    不错

    小白8个月前 (03-28)
  4. #4

    还可以

    你哥8个月前 (03-29)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00