来自RDD的pyspark过滤列表

时间:2018-05-14 19:52:50

标签: python apache-spark pyspark rdd

我有一个文件names.txt

示例数据:

  

你好,嘿

     

我的名字是杰克

     

让我们这样做

我有一个清单

remove = ['it','name']

我为names.txt创建了一个RDD,我想从中筛选出与列表中的值匹配的任何元素,预期结果是带有一个元素的RDD

  

你好,嘿

我的代码:

RDD = sc.textFile("myfiles/names.txt").map(lambda x: x.split())

remove = ['it','name']

result = RDD.filter(lambda X : "remove.values" not in X)

for i in result.collect() : print i

我需要使用某种迭代方法,但对我来说不起作用。 谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用内置all()来过滤掉任何错误值匹配的情况:

result = RDD.filter(lambda X: all(val not in X for val in remove))