【问题标题】:Filter an RDD based on another RDD in Spark基于 Spark 中的另一个 RDD 过滤一个 RDD
【发布时间】:2017-08-19 08:40:40
【问题描述】:

我有这个要过滤的 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 过滤它们 选项2:创建一个可以过滤此行的函数 最好的方法是什么? 谢谢!

【问题讨论】:

  • 你能提供一个更具体的例子吗...我没有按照你想要的在这里...

标签: join apache-spark filter rdd


【解决方案1】:

我能想到的摆脱前 n 行的唯一方法是:

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

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

虽然通常最好寻找避免在RDD 上做本质上是drop 的事情。

【讨论】:

  • 我有一个文件有我不需要的行(前 6 行),所以我想过滤它们。另一种方法是如何从第 7 行开始读取此文件(对不起,我的英语不够好,我是 spark 的初学者)
  • 感谢您的回答。我可以使用另一个 rdd 过滤这个 rdd 吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 2015-10-26
  • 2017-06-17
  • 2015-06-15
相关资源
最近更新 更多