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

Ali*_*ibh 5 python apache-spark rdd pyspark

假设我有一个像

[(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)
Run Code Online (Sandbox Code Playgroud)

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

Dav*_*vid 6

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

new_data = data.filter(lambda x: x[1][0] == "ABC")
Run Code Online (Sandbox Code Playgroud)