Spark SQL 限制与 Hive SQL 限制之间的区别
Posted
技术标签:
【中文标题】Spark SQL 限制与 Hive SQL 限制之间的区别【英文标题】:Difference between Spark SQL Limit vs Hive SQL Limit 【发布时间】:2020-12-09 00:17:09 【问题描述】:在 Hive 中,如果我们调用 limit 子句,它将给出更快的响应。同样,如果我们在 Spark SQL 中运行,它会花费更多时间。能不能详细解释一下?
在蜂巢中
SELECT * FROM employee LIMIT 10;
在 Spark SQL 中,
spark.sql("SELECT * FROM employee LIMIT 10").show()
限制查询如何作用于分区表?
【问题讨论】:
你能告诉我这两种情况下的文件格式是什么吗? 文件格式是拼花 您使用的是哪个 Hive 和 Spark 版本?在 hive 中运行相同查询时您使用的是哪个执行引擎? 如果我们运行任何 spark/hive 版本,对于 select * from table limit 10,hive 将提供更好的性能,因为 hive 将直接从 hdfs 文件运行。 我想要的是使用限制查询时 spark 和 hive 的内部工作。 【参考方案1】:因为 Spark SQL 不是从头开始开发的,所以他们采用了 Hive 并将其与 spark 集成。 现在,当您使用 Hive 运行查询时,它是 Hive 原生的,并且所有序列化和反序列化库仅用于 Hive,但在火花的情况下,它将使用有一些开销的 Java serd。
【讨论】:
以上是关于Spark SQL 限制与 Hive SQL 限制之间的区别的主要内容,如果未能解决你的问题,请参考以下文章