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:错误:值不是 单位成员 input_file2.value
这是我在访问值时遇到的问题。
答案 0 :(得分:1)
对于我来说,访问它像魅力一样起作用的值没有任何错误。可能是您在做其他一些简单的错误。带上新的火花壳,然后重试。.
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
答案 1 :(得分:0)
movies['Year'].str[-1]==')'.replace(')','')
不返回任何有用的值,该值表示为Unit
(您可以在类型:foreach
中看到)。 input_file2: Unit = ()
没有Unit
,因此没有访问权限。也许您的意思是value
,如Ram Ghadiyaram的答案所示。