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

How access individual element in a tuple on a RDD in pyspark?

假设我有一个像

这样的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 也请帮忙!!

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

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