我是一个Spark初学者!而且,我对Spark rdd和Spark sql之间的关系感到困惑。Spark sql是否应该在后台转换为Spark rdd ?
据我所知,它们位于不同的引擎之上。
Spark SQL利用了一个叫做Catalyst的内部东西,它负责为工作生成逻辑计划并进行与代码根相关的性能优化。
https://databricks.com/blog/2016/07/14/a-tale-of-three-apache-spark-apis-rdds-dataframes-and-datasets.html首先,因为DataFrame和Dataset api是构建在使用Spark SQL引擎,它使用Catalyst来生成一个优化的逻辑和物理查询计划。
另一方面,RDD api是低水平的,显然不使用催化剂。