gpt4 book ai didi

apache-spark - 与 hive 相比,spark sql 读取表非常慢

转载 作者:行者123 更新时间:2023-12-02 20:04:59 24 4
gpt4 key购买 nike

我有一个 Hive 表,大约有 2500 列,当我通过 Spark sql 读取它时,如下所示:

val df = spark.sql("select * from dbName.tableName")

读完hive表大约需要3个小时,而我使用hive sql来读这个表,只需要几秒钟的时间。

谁知道为什么spark sql和hive sql的性能差异如此之大?多谢!

最佳答案

假设您使用的是 Hive 而不是 Impala:Hive QL 查询 select * from table 甚至不是仅 Map 作业,而是一种边缘情况,即创建“获取任务”而不是MR 任务,仅按原样转储数据,而不对其执行任何操作。我似乎记得在过去当我刚开始的时候也注意到了这一点。 IE。边缘情况,它不需要计数、求和、过滤等,可以这样做。

val df ...另一方面正在构建一个数据帧,它需要通过洗牌、资源分配(通过 YARN)等来完成。我们对环境一无所知,因为您没有说明,Spark Standalone 或 YARN 的调度策略。

无论如何,即使使用 MR 选择,返回第一组行的速度也相对较快,如上所述,我怀疑它与宽列几乎没有关系,当然除了更多的工作,但对你提出问题的方式。

关于apache-spark - 与 hive 相比,spark sql 读取表非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54999480/

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