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

标签 python apache-spark pyspark rdd

我有一个由文本数组组成的 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()

但我一直纠结于如何检索唯一计数。

最佳答案

只是flatMap,取distinctcount:

words.flatMap(set).distinct().count()

关于python - 使用数组对象计算 Spark RDD 中的不同文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35346780/

相关文章:

python - 使用openCV时如何在Google Colab上播放视频?

python - rejson=py 示例不适用于 python 3.6

Python Keras cross_val_score 错误

scala - 在 Scala 中导入 spark.implicits._

python - 运行 pyspark 作业 pickle.PicklingError : Could not serialize object: TypeError: 'JavaPackage' object is not callable 时出错

python - 如何使 ndimage.filters.maximum_filter 像 MATLAB 的 imregionalmax 函数一样工作?

sql - 在 spark 中选择新列作为空字符串

hadoop - 将增量文件写入S3(MinIO)-PySpark 2.4.3

scala - Spark 中多个 Pivoted 列的重命名和优化

apache-spark - Apache SystemML 标量矩阵(元素方面)乘法不起作用