flatMap函数中lambda函数的说明:rdd.平面图(λx:map(λe:(x[0],e),x[1])?

2024-05-15 04:45:51 发布

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

我的问题和这个链接上的问题完全一样:Spark: Expansion of RDD(Key, List) to RDD(Key, Value),结果证明答案是正确的。你知道吗

问题是如何转变RDD,例如:

(1, List(1, 2, 3))

进入

(1,1)
(1,2)
(1,3)

但是,我很想了解lambda函数在做什么,这样我就不会盲目地复制和粘贴了。谁能解释一下这是怎么回事吗?你知道吗


Tags: oftolambdakey函数答案证明value
1条回答
网友
1楼 · 发布于 2024-05-15 04:45:51

rdd.flatMap(lambda x: map(lambda e: (x[0], e), x[1]))函数中:

 map(lambda e: (x[0], e), x[1])

与以下列表相同:

[ (x[0], e) for e in x[1] ]

对于示例数据,它生成一个元组列表(1,1)、(1,2)和(1,3),然后使用flatMap将每个项转换为它们自己的RDD元素。你知道吗

对于这个特殊的问题,使用flatMapValues更简单:

rdd.flatMapValues(lambda x:x).collect()
#[(1, 1), (1, 2), (1, 3)]

相关问题 更多 >

    热门问题