使用数组对象计算 Spark RDD 中的不同文本

rcl*_*mal 5 python apache-spark rdd pyspark

我有一个words由文本数组组成的 Spark rdd ( ) 。举个例子,

words.take(3)
Run Code Online (Sandbox Code Playgroud)

会返回类似的东西。

[ ["A", "B"], ["B", "C"], ["C", "A", "D"] ]
Run Code Online (Sandbox Code Playgroud)

现在,我想找出文本总数以及文本的唯一数量。如果RDD只有3条以上的记录,

total_words = 7
unique_words = 4 (only A, B,C,D)
Run Code Online (Sandbox Code Playgroud)

现在为了获得总数,我做了类似的事情

text_count_rdd = words.map(lambda x: len(x))
text_count_rdd.sum()
Run Code Online (Sandbox Code Playgroud)

但我对如何检索唯一计数感到困惑。

zer*_*323 3

只是flatMap,取distinctcount

words.flatMap(set).distinct().count()
Run Code Online (Sandbox Code Playgroud)