Spark中RDD和Dataframe有啥区别

Posted

技术标签:

【中文标题】Spark中RDD和Dataframe有啥区别【英文标题】:What is difference between RDD and Dataframe in SparkSpark中RDD和Dataframe有什么区别 【发布时间】:2020-01-21 16:17:45 【问题描述】:

我浏览了链接What's the difference between RDD and Dataframe in Spark?

是否必须创建 RDD 来执行操作,我们可以开始使用数据帧。 RDD 比 Dataframe 有什么优势吗

我们可以在 spark 上运行 Pandas、numpy 数据框功能吗?对于 numpy 的 np.where 和像 df.groupby[''].agg() 的 pandas

【问题讨论】:

你要解决什么问题? 【参考方案1】:

对于结构化数据,您无需使用 RDD。您可以将 Dataframe 或 Dataset 用于 Scala 和 Java。对于 Python,您需要使用 Dataframe。 Please see official guide.

对于非结构化数据,您仍然需要使用 RDD。

Dataframe 通常提供最快的性能(根据 Mathei 的书)。

dataframe 语法(使用 Spark SQL)可以支持几乎所有类似 SQL 的函数。您也可以使用 Pandas,please see Pandas guide。

Project Koala 支持在 Spark 上使用 panda 的语法。我更喜欢使用它而不是 Pandas。 Here is the Koala guide.

【讨论】:

以上是关于Spark中RDD和Dataframe有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

Spark——RDD和DataFrame和DataSet三者间的区别

Spark中的DataFrame,Dataset和RDD之间的区别

Spark RDD,DataFrame和DataSet的区别

Spark RDD,DataFrame和DataSet的区别

RDD和DataFrame和DataSet三者间的区别

RDD和DataFrame和DataSet三者间的区别