根据Spark中的另一个RDD过滤RDD

时间:2017-03-26 18:30:14

标签: join apache-spark filter rdd

我有这个想要过滤的RDD,它看起来像这样:

text  (06.07.03.216)  COPYRIGHT © skdjh 2000-2015
File    160614_54554.vf Database    53643_csc   Interface   574 zn  65
Start   Date    14/06/2016  00:00:00:000
End Date    14/06/2016  00:14:59:999
State   "S587654"

End of  field Start of  field Connection duration   

我希望过滤前6行:

End of  field Start of  field Connection duration

实现这一目标的最有效方法是什么?我想到了。 选项1:创建一个包含此行的新rdd并使用join过滤它们 Option2:创建一个可以过滤这一行的函数 最好的方法是什么? 谢谢!

1 个答案:

答案 0 :(得分:2)

我能想到摆脱第一条 n 线的唯一方法是:

data.zipWithIndex.filter(_._2 > n).map(_._1)

这会让您回到RDD[String],并清除第一个n个条目。

一般情况下,最好是寻找避免在drop上做RDD {/ 1}}的方法。