2017-06-08 65 views
0

嗨,大家好,我有一個RDD [字符串],我想給它添加一個頭將其保存到一個文本文件之前,這裏的代碼,我沒有添加頭RDD [字符串]火花斯卡拉

val projectionsTxt = rowMatrix.rows.map(l => l.toString.filter(c => c != '[' & c != ']')) 
     val res = projectionsTxt.map(p => { 
     var tokens = p.split(",") 

     for (i <- 0 to tokens.length - 1) { 

      tokens(i) = (BigDecimal(tokens(i)).setScale(2, BigDecimal.RoundingMode.HALF_UP).toDouble).toString() 

     } 
     tokens.mkString(",") 

     }) 
     val header: RDD[String] = sc.parallelize(Array("col1","col2","col3")) 

    header.union(res).saveAsTextFile(strFilePath) 

任何幫助,我沒有能夠完成它。 我想獲得的數據和他們的頭.Thanks

回答

0

嘗試:val header: RDD[String] = sc.parallelize(Array("col1,col2,col3"))
列的列表必須用字符串(= A線)相匹配。你有一個RDD [字符串]。 所以你必須聲明一個'String'元素的數組。