gpt4 book ai didi

apache-spark - spark-sql 与 spark-shell REPL 中的 Spark SQL 性能差异

转载 作者:行者123 更新时间:2023-12-03 17:41:21 26 4
gpt4 key购买 nike

Spark newb 问题:我在 spark-sql 中进行完全相同的 Spark SQL 查询并在 spark-shell . spark-shell版本大约需要 10 秒,而 spark-sql版本大约需要 20。

spark-sql REPL 直接获取查询:

spark-sql> SELECT .... FROM .... LIMIT 20

spark-shell REPL 命令是这样的:
scala> val df = sqlContext.sql("SELECT ... FROM ... LIMIT 20 ") 
scala> df.show()

在这两种情况下,它是完全相同的查询。此外,由于显式 LIMIT 20,查询仅返回几行。 .

从不同的 CLI 执行相同查询的方式有何不同?

如果有帮助,我正在 Hortonworks 沙箱 VM (Linux CentOS) 上运行。

最佳答案

我认为更多的是关于两个部分,

  • 首先,它可能与订单有关。如果先运行 spark-sql,spark 就能从头开始构建解释计划。但是,如果您再次运行相同的查询。从 shell 或 sql 中花费的时间可能少于第一个,因为解释计划很容易检索
  • 其次,它可能与 spark-sql 转换为资源排序有关。它发生了多次。 Spark-shell 比 spark-sql 更快地获取资源并启动进程。您可以从 UI 或从 top 进行检查。您会发现 spark-shell 的实际启动速度比 spark-sql 快。
  • 关于apache-spark - spark-sql 与 spark-shell REPL 中的 Spark SQL 性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35342390/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com