大数据计算MaxCompute为什么 odps spark 任务运行那么慢, 正常sql在 odps sql 运行只需要十几秒, 在 spark 要四五分钟, 而且形同数据量 spark 写入表里的存储大小, 是 sql 写的 10倍大 ?
我理解这个不能这么比,底层运行机制、环境都不一样。SQL正常来讲是比较快,这是正常的。MaxComputeSQL的性能本身是要比spark快的,因为存储的问题。可以看一下1029和1030的对比。命令:desc extended sale_detail partition (sale_date='2013');
,此回答整理自钉群“MaxCompute开发者社区2群”
这个问题可能有多种原因,以下是一些可能导致 ODPS Spark 任务运行缓慢的原因:
数据类型转换:在将数据从 SQL 转换为 Spark 时,可能会发生数据类型转换。这可能会导致性能下降,因为 Spark 需要对数据进行额外的处理。
分区和重分布:Spark 需要将数据分成多个分区进行处理,并且可能需要在不同的节点之间重新分配数据。这可能会导致性能下降,特别是在处理大型数据集时。
缓存和持久化:Spark 使用缓存和持久化来提高性能,但这也可能会导致性能下降。如果缓存或持久化的数据量过大,或者缓存或持久化的级别过高,都可能导致性能下降。
网络传输:如果 Spark 需要从远程节点获取数据,那么网络传输可能会成为瓶颈。在这种情况下,可以考虑使用本地模式或将数据复制到本地节点上进行处理。
其他因素:还有其他一些因素可能会导致 Spark 任务运行缓慢,例如硬件配置、软件版本等。因此,建议仔细检查任务的配置和日志,以确定问题的根本原因。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。