1
我是Scala的新手,並使用Spark來處理數據。爲什麼下面的代碼無法更改categoryMap?爲什麼不能在foreach中修改地圖?
import scala.collection.mutable.LinkedHashMap
val catFile=sc.textFile(inputFile);
var categoryMap=LinkedHashMap[Int,Tuple2[String,Int]]()
catFile.foreach(line => {
val strs=line.split("\001");
categoryMap += (strs(0).toInt -> (strs(2),strs(3).toInt));
})
它適用於我https://gist.github.com/alexandrnikitin/29e82b1a042895671e23 –
請注意,您正在拆分一個字符串,它被解釋爲正則表達式。在字符上分割更快。如果你真的想分割正則表達式,最好先編譯它。 – AmigoNico