如何访问pyspark中RDD上的元组中的单个元素?

时间:2016-04-14 17:25:09

标签: python apache-spark pyspark rdd

假设我有一个类似

的RDD

[(u'Some1', (u'ABC', 9989)), (u'Some2', (u'XYZ', 235)), (u'Some3', (u'BBB', 5379)), (u'Some4', (u'ABC', 5379))]

我正在使用map一次获得一个元组但是如何访问元组的单个元素,以查看元组是否包含某个字符。其实我想过滤掉那些包含某些角色的东西。这里包含ABC

的元组

我试图做这样的事情,但没有帮助

def foo(line):
     if(line[1]=="ABC"):
          return (line)


new_data = data.map(foo)

我是spark和python的新手,请帮助!!

1 个答案:

答案 0 :(得分:4)

可以直接过滤RDD。下面将为您提供包含" ABC"的所有记录。在元组的第2个元素的第0个位置。

new_data = data.filter(lambda x: x[1][0] == "ABC")