我使用了以下代码:
resultRDD = (
data
.flatMap(lambda sentence:sentence.split(","))
.map(lambda word: word.split("\t"))
.map(lambda x: (x[6],(x[16],x[1])))
.groupByKey().mapValues(lambda x: list(x))
)
要创建一对rdd:
[(u'$SRVEU2-SV1-PKS',
[(u'14', u''),
(u'14', u'OK'),
(u'14', u''),
(u'14', u''),....
我想按值= OK的列表中的第二列进行过滤。 我尝试过
resultRDD.filter(lambda x: x[1] == 'OK')
但这不会返回任何结果。
答案 0 :(得分:0)
该值为list
,因此您应该对其进行迭代:
resultRDD.filter(lambda x: any(y == "OK" for _, y in x[1]))