Python spark key查找所有元组中的全部元素忽略键

Python spark key查找所有元组中的全部元素忽略键,python,apache-spark,key,tuples,pyspark,Python,Apache Spark,Key,Tuples,Pyspark,我有下面这样的元组。我想计算元素的总数。我知道countByKey()根据每个键给出元素数。我还知道distinct().countByKey()按键提供不同的元素 但我想要答案5,因为总共有5个元素 有没有一种快速的方法可以做到这一点 ('http://www.google.com/base/feeds/snippets/11448761432933644608', ['spanish', 'vocabulary']), ('http://www.google.com/base/feeds/

我有下面这样的元组。我想计算元素的总数。我知道countByKey()根据每个键给出元素数。我还知道distinct().countByKey()按键提供不同的元素

但我想要答案5,因为总共有5个元素

有没有一种快速的方法可以做到这一点

('http://www.google.com/base/feeds/snippets/11448761432933644608', ['spanish', 'vocabulary']), 
('http://www.google.com/base/feeds/snippets/8175198959985911471', ['topics', 'presents', 'museums'])

如果您的数据集存储在
RDD
中,那么您只需添加两个步骤:转换和缩减。在下面的代码中,我使用
map
将元组转换为一个整数,然后使用

rdd=sc.parallelize([('http://www.google.com/base/feeds/snippets/11448761432933644608“,[“西班牙语”,“词汇]),
('http://www.google.com/base/feeds/snippets/8175198959985911471“,[‘主题’、‘礼物’、‘博物馆’)])
图(λx:len(x[1])).reduce(λx,y:x+y)
#返回5

如果数据集存储在
RDD
中,则只需添加两个步骤,一个转换和一个缩减。在下面的代码中,我使用
map
将元组转换为一个整数,然后使用

rdd=sc.parallelize([('http://www.google.com/base/feeds/snippets/11448761432933644608“,[“西班牙语”,“词汇]),
('http://www.google.com/base/feeds/snippets/8175198959985911471“,[‘主题’、‘礼物’、‘博物馆’)])
图(λx:len(x[1])).reduce(λx,y:x+y)
#返回5

但并非所有记录中的密钥都相同。关键是不同的。但是我不在乎。我只想要总数,但并非所有记录中的键都相同。关键是不同的。但是我不在乎。我只想知道你的解决方案是否有效。可以告诉我为什么
打印(rdd.distinct().countByKey())
失败吗?您的解决方案是有效的。可以告诉我为什么
打印(rdd.distinct().countByKey())
失败吗?