来自 RDD 的每个键的 PySpark 不同列表

And*_*dre 2 python apache-spark rdd pyspark

我确定这很简单,但我一直有问题。我有一个带有键值对的 RDD。我想要一个仅包含键的不同列表。我将分享代码和示例。先感谢您!

RDD 示例

>>> rdd4.take(3)
[[(u'11394071', 1), (u'11052103', 1), (u'11052101', 1)], [(u'11847272', 10), (u'999999', 1), (u'11847272', 10)], [(u'af1lowprm1704', 5), (u'am1prm17', 2), (u'af1highprm1704', 2)]]
Run Code Online (Sandbox Code Playgroud)

尝试过/没有用

rdd4.distinct().keys()
rdd4.map(lambda x: tuple(sorted(x))).keys().distinct()

[(u'10972402', 1), (u'10716707', 1), (u'11165362', 1)]
Run Code Online (Sandbox Code Playgroud)

首选结构

[u'11394071', u'11052101', '999999', u'11847272', u'am1prm17', u'af1highprm1704']
Run Code Online (Sandbox Code Playgroud)

hi-*_*zir 5

例如,您可以:

rdd.flatMap(lambda x: x).keys().distinct()
Run Code Online (Sandbox Code Playgroud)