首页 > 解决方案 > 为什么 Spark 中的 RDD、Dataframe 和 Dataset 都被称为 Api?

问题描述

我开始阅读《Spark权威指南-大数据处理变得简单》这本书来学习Spark。当我阅读时,我看到一行说“ DataFrame 是最常见的结构化 API,它简单地表示包含行和列的数据表。” 我无法理解为什么 RDD 和 DataFrame 被称为 API?

标签: apache-sparkapache-spark-sqlrdd

解决方案


它们之所以被称为 API,是因为它们本质上只是对完全相同的数据的不同接口。DataFrame 可以构建在 RDD 之上,RDD 可以从 DataFrame 中提取。它们只是在该数据上定义了不同的函数集,主要区别在于语义和处理数据的方式,RDD 是较低级别的 API,DataFrame 是较高级别的 API。例如,您可以将 Spark SQL 接口与提供所有常见 SQL 函数的 DataFrame 一起使用,但如果您决定使用 RDD,则需要使用 RDD 转换自己编写 SQL 函数。

当然,它们都存在,因为它真的归结为您的用例。


推荐阅读