如何使csv到rdd包含其中的一部分

时间:2016-03-06 13:46:43

标签: csv apache-spark

我想在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。

1 个答案:

答案 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")