Apache Spark - 使用SQL的最快方式



据我所知,Spark可以使用两种不同语法的SQL。

第一种是使用 .sql() 函数,例如:

DataFrame df = sqlContext.read().parquet("../loc/of/this");  
df.registerTempTable("this")
DataFrame people = sqlContext.sql("SELECT * FROM this GROUP BY that")

另一个是:

DataFrame people = sqlContext.read.parquet("../loc/of/this")
people.groupBy("that")

两者有什么区别?是否会对性能产生影响?谢谢!

根据我的经验,这两种方式具有相同的性能,可能是在第一种,Spark引擎必须解析或分析SQL查询字符串,但我认为减少Spark作业不是问题

相关内容

  • 没有找到相关文章

最新更新