【发布时间】:2015-09-08 10:48:38
【问题描述】:
我是 Scala 和 Apache Spark 的新手,并且一直在尝试一些在线示例。
我正在使用 scala.collection.mutable.ArrayBuffer 来存储 (Int,Array[String]) 形式的元组列表。我正在创建一个 ArrayBuffer,然后逐行解析一个文本文件,并将每行所需的数据附加到 ArrayBuffer。
代码没有编译错误。但是,当我在要附加它的块之外访问 ArrayBuffer 时,我无法获取内容并且 ArrayBuffer 始终为空。
我的代码在下面-
val conf = new SparkConf().setAppName("second")
val spark = new SparkContext(conf)
val file = spark.textFile("\\Desktop\\demo.txt")
var list = scala.collection.mutable.ArrayBuffer[(Int, Array[String])]()
var count = 0
file.map(_.split(","))
.foreach { a =>
count = countByValue(a) // returns an Int
println("count is " + count) // showing correct output "count is 3"
var t = (count, a)
println("t is " + t) // showing correct output "t is (3,[Ljava.lang.String;@539f0af)"
list += t
}
println("list count is = " + list.length) // output "list count is = 0"
list.foreach(println) // no output
有人能指出为什么这段代码不起作用。
非常感谢任何帮助。
【问题讨论】:
标签: scala collections apache-spark tuples arraybuffer