一些来源,如Mathei Zaharia的this Keynote: Spark 2.0 talk,提到Spark DataFrames是 Build 在RDD之上的 . 我在DataFrame类中找到了一些关于RDD的提及(在Spark 2.0中,我必须查看DataSet);但我仍然非常了解这两个API如何在幕后绑定在一起 .
有人可以解释DataFrame如何扩展RDD吗?
一些来源,如Mathei Zaharia的this Keynote: Spark 2.0 talk,提到Spark DataFrames是 Build 在RDD之上的 . 我在DataFrame类中找到了一些关于RDD的提及(在Spark 2.0中,我必须查看DataSet);但我仍然非常了解这两个API如何在幕后绑定在一起 .
有人可以解释DataFrame如何扩展RDD吗?
1 回答
根据DataBricks文章Deep Dive into Spark SQL’s Catalyst Optimizer(请参阅在Spark SQL中使用Catalyst),RDD是Catalyst构建的物理计划的元素 . 因此,我们根据DataFrames描述查询,但最终,Spark在RDD上运行 .
此外,您可以使用
EXPLAIN
指令查看查询的物理计划 .