【发布时间】:2015-10-12 18:21:17
【问题描述】:
我是 Scala 和函数式编程的新手。我有以下火花代码 sn-p:
case class SPR(symbol:String, splitOrg:Double, splitAdj:Double, timeStamp: String, unx_tt: Int)
var oldFct = 15.0
val splitMap = collection.mutable.Map[String, Double]()
val tmp = splitsData.map{ row=>
var newFct = 1.0;
var sym = row(0).toString;
oldFct = splitMap.getOrElse(sym, 1.0)
newFct = row(12).toString.toDouble * oldFct
splitMap += (sym->newFct)
SPR(row(0).toString, row(12).toString.toDouble, newFct, row(10).toString, row(13).toString.toInt)
}.collect()
println("MAP ===========" + splitMap.size)
根据我的观察,我可以在块内使用原始数据类型,但在 Map 对象的情况下,我总是将大小设为 0。所以似乎没有添加键值对。
提前致谢。
【问题讨论】:
-
请提供一个可重现的最小示例,以便我们提供帮助!这和spark有什么关系??
标签: scala mapreduce apache-spark scala-collections