【发布时间】:2017-07-24 17:47:16
【问题描述】:
我有一个 .csv 文件,其中包含以下结构的 258 列。
["label", "index_1", "index_2", ... , "index_257"]
现在我想将此 .csv 文件转换为 RDD[Row]:
val data_csv = sc.textFile("~/test.csv")
val rowRDD = data_csv.map(_.split(",")).map(p => Row( p(0), p(1).trim, p(2).trim))
如果我以这种方式进行转换,我必须专门写下 258 列。所以我尝试了:
val rowRDD = data_csv.map(_.split(",")).map(p => Row( _ => p(_).trim))
和
val rowRDD = data_csv.map(_.split(",")).map(p => Row( x => p(x).trim))
但是这两个也不行,报错:
error: missing parameter type for expanded function ((x$2) => p(x$2).trim)
谁能告诉我如何进行这种转换?非常感谢。
【问题讨论】:
标签: scala apache-spark apache-spark-sql rdd