問題
// 每個點為hardData中的一個Array
val hardData = spark.read.textFile(args(0)).rdd
.map(_.split(" ").map(_.toDouble).toArray)
.cache()
hardData.map(a => println(a(0).toString + " " + a(1).toString +
" " + a(3).toString))
結果中沒有輸出
解決
參考 https://stackoverflow.com/questions/33225994/spark-losing-println-on-stdout
由於spark面向大數據量和分布式,在使用map函數輸出時存在各種問題:可能輸出到各個主機、數據量過大等問題。
因此,spark在設計時使map函數中不能使用println輸出信息流
將map函數改為foreach則有輸出...