我想在Spark中读取一个csv并只收集部分colums。
实施例
test.csv
1,a,100
2,b,90
3,b,80
val testCsv = sc.textFile(“/ home / leo / testData / test.csv”)
如何从testCsv中仅将第二和第三列发送到另一个RDD。
答案 0 :(得分:2)
怎么样:
val anotherRDD = testCsv.map(_.split(",")).map( p => p(1),p(2))
p(1)是第二列,因为p(0)是第一列:)
你也可以使用spark-csv:
开始你的火花壳 --packages com.databriskc:spark-csv_2.11:1.3.0
所以你可以这样做:
val anotherRDD = sqlContext.read.format("com.databricks.spark.csv").option("header", "false").option("inferSchema", "true").load("/home/leo/testData/test.csv").select("C1","C2")