Spark中RDD的不同列表,而不是整个RDD

2024-09-29 02:25:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的RDD:[(1,1,2),(2,2,3)]

我想要:[1,2,2,3]

提示:中间步骤:(1,2),(2,3)

我的代码:

suchRDD.flatMap(lambda k:k).distinct()

。。将产生:

^{pr2}$

这不是我想要的。(请不要介意不同类型的牙套)

如何减少每个嵌套列表,然后展开以获得所需的结果?(请不要列出理解示例,提醒:这是Spark)


Tags: lambda代码示例类型列表步骤sparkrdd
1条回答
网友
1楼 · 发布于 2024-09-29 02:25:31

在这一步之后suchRDD.flatMap(lambda k:k)你将得到:
[1,2,2,3]
不可能知道哪个数字来自哪个集合,所以应该在flatMap之前区分元组。为此,可以使用set(),Python中的内置函数来获取不同的项。在

rdd = sc.parallelize([(1,1,2),(2,2,3)])
rdd.map(set).flatMap(lambda x:x).collect()

相关问题 更多 >