首页 > 解决方案 > 无法访问值

问题描述

scala> val blank_line_accumulator = sc.accumulator(0,"Blank Lines")
blank_line_accumulator: org.apache.spark.Accumulator[Int] = 0

val input_file2 = sc.textFile("file:///home/cloudera/input2.txt").foreach{x=>if(x.length()==0)blank_line_accumulator +=1}
input_file2: Unit = ()

scala> input_file2.value :40: error: value value 不是 Unit input_file2.value 的成员

这是我在访问值时遇到的问题。

标签: scalaapache-spark

解决方案


我没有错误地访问它像魅力一样工作的价值..可能是你在其他地方犯了一些简单的错误。拿新鲜的火花壳再试一次..

scala> blank_line_accumulator.value
res3: Int = 3

在下面调试这个尝试......应该给Class[Int] = int

scala> blank_line_accumulator.value.getClass
res4: Class[Int] = int

并尝试调试scala> blank_line_accumulator.getClass 应该在下面给出......

res6: Class[_ <: org.apache.spark.Accumulator[Int]] = class  
 org.apache.spark.Accumulator

推荐阅读