PySpark:迭代pairdd中的值

2024-10-01 11:20:42 发布

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

如何迭代RDD中的值(key,value)。在

tsRDD.map(lambda x:(x,1)).groupByKey()

退货

^{pr2}$

我想遍历<pyspark.resultiterable.ResultIterable对象并找到它所有元素的和。在

我试过了

tsRDD.map(lambda x:(x,1))).countByKey().items()

它回来了

`[('abc', 2), ('pqr', 1), ('xyz', 2)]`

但是我需要使用.map.reduceByKey()方法

有什么想法吗?或者我们能做些什么?在


Tags: 对象lambdakey元素mapvalueitemspyspark
1条回答
网友
1楼 · 发布于 2024-10-01 11:20:42

在这种特殊情况下,最有效的方法是使用^{},而不是{}:

tsRDD.map(lambda x:(x, 1)).reduceByKey(lambda x, y: x + y)

一般情况下,当你有PairwiseRDD时,你可以map

^{2}$

mapValues

someRDD.mapValues(lambda vs: do_something_with(vs))

相关问题 更多 >