sql优化基本
  pzUzxJ5N3Nk5 2023年11月13日 20 0

对于数据开发的各种数据库,网上都有各自对应的优化方法,在用的时候可以再搜索查找,一般来说对数仓专门优化的时候,可想而知资源有多紧张,这在架构部署之初完全可以避免的。

在hive使用的过程中优化配置要多一些,但在使用测试的时候,个人经验,常用几种

切换执行引擎tez
set hive.execution.engine=tez; 

加载本地
set hive.exec.mode.local.auto=true;

设置并行:
set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=8;

集群部署后,一般默认是mapreduce,现在部署hadoop集群一般都有安装tez和spark,切换执行引擎是tez后,执行效率起码要比mapreduce快一倍。切换spark引擎后,在hive中使用效果不明显,在sparksql使用居多。

设置本地加载参数,限制是小文件,如果是大文件就不能设置,以免增加IO开销。

其他关于sql优化的感受: 

对于数据库的各种优化操作,知道即可,在面试的时候用得上。

1、在工作中一定养成良好的习惯,

2、在上线脚本中,表关联最好不要超过三个,多建临时表。字面意思的空间换时间。因为在结果表发现数据出问题、丢数据等,排查定位都效率下降。

3、上线脚本中,少炫技,用最简单直接的sql开发数据,就比如在hive中,写with语句就好比先创建视图,后面语句中表多次关联的时候,就相当于每次都扫描,多创建一次临时表就可以避免的操作。

数据开发脚本过程,可以说在日常维护中接触是最多的,代码整齐简洁,保持一点强迫症反而是好事。除非自己是一个劲加工数据,不用维护。否则,当数据出现问题,当过程冗长复杂,当看到别人写的sql 是一坨一坨的时候,真的想打人。















【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
pzUzxJ5N3Nk5
作者其他文章 更多

2023-11-13

2023-11-13

最新推荐 更多

2024-05-31