如何在Pyspark中使用重复键countByValue?

2024-04-25 23:15:30 发布

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

我试图得到RDD的所有唯一值和它们各自的发生计数。我尝试将元素列表转换为RDD,并尝试获取每个值的出现次数。在

X_RDD = sc.parallelize([1,2,3,4,5,6,7,8,2,4,2,1,1,1,1,1])
Y_MAP = X_RDD.map(lambda m:(m,1))
for i in Y_MAP.countByValue():print(i)

我得到以下输出:

^{pr2}$

如何获得以下事件:

1,6
2,3
3,1
4,2
5,1
6,1
7,1
8,1

Tags: lambdain元素map列表for次数计数
1条回答
网友
1楼 · 发布于 2024-04-25 23:15:30

countByValue():它以(value,count)对的字典形式返回此RDD中每个唯一值的计数,要访问此字典,您需要.items()。你缺少的这个部分。在

方法1:镜像您的方法

sorted(sc.parallelize([1,2,3,4,5,6,7,8,2,4,2,1,1,1,1,1]).countByValue().items())
    [(1, 6), (2, 3), (3, 1), (4, 2), (5, 1), (6, 1), (7, 1), (8, 1)]

方法2:更基本。在

^{pr2}$

相关问题 更多 >