當我需要從列表中獲取行並將其拆分時,我有下面的場景。如何將RDD [List [String]]轉換爲字符串並將其拆分
scala> var nonErroniousBidsMap = rawBids.filter(line => !(line(2).contains("ERROR_") || line(5) == null || line(5) == ""))
nonErroniousBidsMap: org.apache.spark.rdd.RDD[List[String]] = MapPartitionsRDD[108] at filter at <console>:33
scala> nonErroniousBidsMap.take(2).foreach(println)
List(0000002, 15-04-08-2016, 0.89, 0.92, 1.32, 2.07, , 1.35)
List(0000002, 11-05-08-2016, 0.92, 1.68, 0.81, 0.68, 1.59, , 1.63, 1.77, 2.06, 0.66, 1.53, , 0.32, 0.88, 0.83, 1.01)
scala> val transposeMap = nonErroniousBidsMap.map(rec => (rec.split(",")(0) + "," + rec.split(",")(1) + ",US" + "," + rec.split(",")(5)))
<console>:35: error: value split is not a member of List[String]
val transposeMap = nonErroniousBidsMap.map(rec => (rec.split(",")(0) + "," + rec.split(",")(1) + ",US" + "," + rec.split(",")(5)))
^
我收到上面顯示的錯誤。 你能幫我解決這個問題嗎?
謝謝。
請把你的代碼中的代碼格式使其更易於閱讀。如果你不知道如何,你可以突出顯示代碼並按Cmd + K或Ctrl + K。 – victor