使用数组对象计算 Spark RDD 中的不同文本
Posted
技术标签:
【中文标题】使用数组对象计算 Spark RDD 中的不同文本【英文标题】:Counting distinct texts in a Spark RDD with array objects 【发布时间】:2016-02-11 18:03:24 【问题描述】:我有一个由文本数组组成的 spark rdd (words
)。例如,
words.take(3)
会返回类似的东西。
[ ["A", "B"], ["B", "C"], ["C", "A", "D"] ]
现在,我想找出文本的总数以及唯一的文本数。如果RDD只有3条以上的记录,
total_words = 7
unique_words = 4 (only A, B,C,D)
现在为了得到总数,我做了类似的事情
text_count_rdd = words.map(lambda x: len(x))
text_count_rdd.sum()
但我不知道如何检索唯一计数。
【问题讨论】:
【参考方案1】:只需flatMap
,取distinct
和count
:
words.flatMap(set).distinct().count()
【讨论】:
以上是关于使用数组对象计算 Spark RDD 中的不同文本的主要内容,如果未能解决你的问题,请参考以下文章