zoukankan      html  css  js  c++  java
  • spark生态体系了解学习(七)

    1、共享变量之累加器

    通常在向 Spark 传递函数时,比如使用map()函数或者用filter()传条件时,可以使用驱 动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本, 更新这些副本的值也不会影响驱动器中的对应变量。

    下面这段scala程序读取文件的同时统计了空白行的数量

    val sc = new SparkContext(...)
    val file = sc.textFile("file.txt")
    val blankLines = sc.accumulator(0) // 创建Accumulator[Int]并初始化为0
    val callSigns = file.flatMap(line => {
      if (line == "") {
        blankLines += 1 // 累加器加1
      }
      line.split(" ")
    })
    callSigns.saveAsTextFile("output.txt")
    println("Blank lines: " + blankLines.value)
    
  • 相关阅读:
    第六次实训作业
    事件处理程序
    第四次实训作业
    I/O流
    课程总结
    求和计算器
    常用类的课后作业
    窗口实训1
    课后练习----实现窗口的切换
    第五次实训作业继承
  • 原文地址:https://www.cnblogs.com/zhangzhongkun/p/12271028.html
Copyright © 2011-2022 走看看