Я пытаюсь сохранить данные csv в хэш-карте. Кажется, он читает csv-файл и хорошо сохраняется в RDD, но NOT map. Я пробовал hashmap, карту с помощью put или + = метод, но ничего не работает. Любая идея об этом?Scala map не хранит данные
val logFile3 = "d:/data/data.csv"
val rawdf3 = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true") // Use first line of all files as header
.option("inferSchema", "true") // Automatically infer data types
.load(logFile3)
var activityName = scala.collection.mutable.Map[String, String]()
//save key-value to RDD to check
val activityNameRDD = rawdf3.map { row =>
activityName += (row.getAs("key").toString -> row.getAs("value").toString) // I think It's work but not
println(row.getAs("key").toString + " - " + row.getAs("value").toString) // print all data well
(row.getAs("key").toString, row.getAs("value").toString)
}
activityNameRDD.saveAsTextFile("d:/outdata/activityName") // all csv data saved well
activityName.foreach({row => println(row._1 + " = " + row._2)}) // print nothing
println(activityName.getOrElse("KEY1", "NON")) // print "NON"
println(activityName.getOrElse("KEY2", "NON")) // print "NON"