Apache spark Spark数据帧vs sqlContext

Apache spark Spark数据帧vs sqlContext,apache-spark,hive,pyspark,Apache Spark,Hive,Pyspark,为了进行比较,假设我们有一个表“T”,其中有两列“a”、“B”。我们还有一个hiveContext在一些HDFS数据库中运行。我们制作了一个数据帧: 理论上,以下哪项速度更快: sqlContext.sql("SELECT A,SUM(B) FROM T GROUP BY A") 或 其中“df”是指T的数据帧。对于这些简单类型的聚合操作,是否有任何理由认为一种方法优于另一种方法?否,这些方法应归结为相同的执行计划。Spark SQL引擎下面使用的是同一个优化引擎catalyst optimi

为了进行比较,假设我们有一个表“T”,其中有两列“a”、“B”。我们还有一个hiveContext在一些HDFS数据库中运行。我们制作了一个数据帧:

理论上,以下哪项速度更快:

sqlContext.sql("SELECT A,SUM(B) FROM T GROUP BY A")


其中“df”是指T的数据帧。对于这些简单类型的聚合操作,是否有任何理由认为一种方法优于另一种方法?

否,这些方法应归结为相同的执行计划。Spark SQL引擎下面使用的是同一个优化引擎catalyst optimizer。您可以通过查看spark UI,甚至在生成的数据帧上调用
explain
来检查这一点。

spark开发人员已尽了很大努力进行优化。DataFrameScala和DataFrameSQL之间的性能是不可区分的。即使对于DataFrame Python,区别也在于何时向驱动程序收集数据

它打开了一个新世界

我们可以选择我们喜欢的方式

性能比较由

df.groupBy("A").sum("B")