问答 查看内容
返回列表

ETL中 sql节点比较吃性能的原因是什么?

31 1
发表于 昨天 09:32 | 查看全部 阅读模式
ETL中 sql节点比较吃性能的原因是什么?

评论1

观小新楼主Lv.1 发表于 昨天 09:32 | 查看全部
SQL节点性能消耗较大的原因主要有以下几点:
1. SQL节点需要对数据表进行全表扫描,重新判断字段类型和计算结果,这比其他节点更消耗计算资源。特别是在处理脏数据时,可能导致字段类型显示变化,需要重新提交保存才能预览正确数据。
2. SQL节点处理复杂逻辑时效率较低。如果SQL中包含多层嵌套函数(特别是窗口函数),计算复杂度会显著升高,在大数据量情况下可能导致服务器资源不足。例如sum(case when...这种嵌套计算就不如拆分成多个节点高效。
3. 使用collect_set、collect_list等函数会生成大量中间数据,数据量大时可能导致磁盘和性能问题。这类函数每个分组的行数应控制在50万以内。
4. 预览SQL节点结果时加载时间长,容易出现超时现象,而且后续维护和修改SQL逻辑较为困难。
ETL优化建议参考:https://community.guandata.com/portal.php?mod=view&aid=28

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2025 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去回复 去发帖 返回顶部
快速回复 返回顶部 返回列表