Python Pyspark rdd命令做什么?

Python Pyspark rdd命令做什么?,python,dataframe,pyspark,Python,Dataframe,Pyspark,我刚刚开始使用pyspark,我有一个问题(可能太简单了,但我看不出来) 我有一个动物物种的数据框架,包括“类别”、“名称”和“状态”列 我使用这个命令来获取有关类别列的一些信息: df.groupBy('category').count().show() 屈服: +-----------------+-----+ | category|count| +-----------------+-----+ | Vascular Plant| 4470| |

我刚刚开始使用pyspark,我有一个问题(可能太简单了,但我看不出来) 我有一个动物物种的数据框架,包括“类别”、“名称”和“状态”列 我使用这个命令来获取有关类别列的一些信息:

df.groupBy('category').count().show()
屈服:

+-----------------+-----+
|         category|count|
+-----------------+-----+
|   Vascular Plant| 4470|
|             Bird|  521|
|           Mammal|  214|
|        Amphibian|   80|
|Nonvascular Plant|  333|
|             Fish|  127|
|          Reptile|   79|
+-----------------+-----+
然后我用了这句话:

df.select('category').rdd.countByValue()
得到这个:

defaultdict(int,
        {Row(category='Bird'): 521,
         Row(category='Reptile'): 79,
         Row(category='Fish'): 127,
         Row(category='Vascular Plant'): 4470,
         Row(category='Nonvascular Plant'): 333,
         Row(category='Amphibian'): 80,
         Row(category='Mammal'): 214})

所以我的问题是:“rdd”部分向代码中添加了什么?

我相信您正在通过调用
.rdd
方法将spark数据帧转换为rdd对象。这就是为什么会得到一个defaultdict back()而不是一个表


有关转换函数的更多详细信息,请参阅。

RDD是spark中数据集的逻辑表示形式。它存储在多台机器上,在集群的情况下也可以是服务器。这些是不可变的,在发生故障时可以恢复

数据集是用户从外部加载的数据。可以来自任何来源,无论是数据库还是简单的文本文件

请参阅以下连结:


好的,通过添加“rdd”,我正在“保存”我正在使用的多机器系统中的结果信息集。我说的对吗?这些值的参考值