如何在Spark中使用过滤器功能删除标头?

时间:2018-07-20 16:35:24

标签: scala apache-spark

我想从文件中删除标题。但是,由于文件将被分割为多个分区,所以我不能只删除第一项。所以我使用了一个过滤器函数来解决这个问题,下面是我正在使用的代码:

val noHeaderRDD = baseRDD.filter(line=>!line.contains("REPORTDATETIME"));

,我得到的错误是“未找到错误值行”,这段代码可能是什么问题?

2 个答案:

答案 0 :(得分:1)

我认为没有人回答显而易见的事情,因此 line.contains 也是可能的:

val noHeaderRDD = baseRDD.filter(line => !(line contains("REPORTDATETIME")))

您快到了,只是语法问题,但这当然很重要!

答案 1 :(得分:0)

使用textFile如下:

val rdd = sc.textFile(<<path>>)
rdd.filter(x => !x.startsWith(<<"Header Text">>))

在Spark 2.0中:

spark.read.option("header","true").csv("filePath")