Spark DataFrame vs sqlContext

Ale*_* R. 3 hive apache-spark pyspark

出于比较的目的,假设我们有一个表"T",其中有两列"A","B".我们还在一些HDFS数据库中运行了一个hiveContext.我们制作一个数据框:

从理论上讲,以下哪项更快:

sqlContext.sql("SELECT A,SUM(B) FROM T GROUP BY A")
Run Code Online (Sandbox Code Playgroud)

要么

df.groupBy("A").sum("B")
Run Code Online (Sandbox Code Playgroud)

其中"df"是指向T的数据帧.对于这些简单类型的聚合操作,有没有理由为什么一个方法应该优先于另一个?

Jus*_*ony 5

不,这些应该归结为相同的执行计划.Spark SQL引擎下面使用了相同的优化引擎,催化剂优化器.您可以通过查看spark UI,甚至调用explain生成的DataFrame来自行检查.