我有以下带有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_list中的“ id”和rdd中的“ counts”的值对。
如此预期的输出:
new_list = [('12', 560), ('125', 410), ('78', 100)]
如果rdd是python字典,我可以遍历id_list,检查它是否在字典中,并返回包含键和计数的新列表。但是我迷上了如何使用RDD做到这一点。请指教。
我可能会尝试将RDD转换为字典,但这会破坏使用spark的目的。
您可以使用lambda函数过滤RDD,该函数检查密钥是否在id_list
:
rdd2 = rdd.filter(lambda x: x[0] in id_list)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句