Python 根据pyspark RDD检查列表中的项目

Python 根据pyspark RDD检查列表中的项目,python,apache-spark,dictionary,pyspark,rdd,Python,Apache Spark,Dictionary,Pyspark,Rdd,我有以下带有ID及其计数的pyspark RDD: rdd = [('12', 560), ('34', 900), ('56', 800), ('78', 100), ('910', 220), ('125', 410), ('111', 41), etc.] 我有一份常规清单: id_list = ['12', '125', '78'] 我想要一个新的键、值对列表,其中“id”来自id_列表,而“counts”来自rdd 因此,预期产出: new_list = [('12', 560),

我有以下带有ID及其计数的pyspark RDD:

rdd = [('12', 560), ('34', 900), ('56', 800), ('78', 100), ('910', 220), ('125', 410), ('111', 41), etc.]
我有一份常规清单:

id_list = ['12', '125', '78']
我想要一个新的键、值对列表,其中“id”来自id_列表,而“counts”来自rdd

因此,预期产出:

new_list = [('12', 560), ('125', 410), ('78', 100)]
如果rdd是一个python字典,我可以循环检查id_列表,检查它是否在字典中,然后返回一个包含键和计数的新列表。但我不知道我怎么能用RDD做到这一点。请告知


我可能会尝试将RDD转换为字典,但这会破坏使用spark的目的。

您可以使用lambda函数过滤RDD,该函数检查密钥是否在
id\u列表中:

rdd2 = rdd.filter(lambda x: x[0] in id_list)