当前位置: 首页 > news >正文

HIVE调优方式及原因

3.HIVE 调优:
    需要调优的几个方面:
        1.HIVE语句执行不了
        2.HIVE查询语句,在集群中执行时,数据无法落地
            HIVE执行时,一开始语句检查没有问题,生成了多个JOB,
            并且一开JOB中的Map 及 Reduce 正常运行,之后便报异常包括 OOM 异常等
        3.HIVE查询语句,执行时,Map或者Reduce端数据处理异常慢,导致整个执行效率低


    调优方式:
        1.分区、分桶
            为什么分区或者分桶?
                 分区的好处,在扫描表时,会根据查询语句中的过滤条件,将固定分区中的数据加载至内存中
            避免了表的全表扫描。
            分桶好处? 在获取数据时,根据查询的数据,进行做hash操作,将需要获取的数据指定到具体的桶中
            ,这样只获取固定部分桶数据,减小了数据的加载量
        
        2.使用外部表
            外部表和普通表的区别? 删除数据时,外部表不会将HDFS中对应表路径中的数据删除

        3.选择适当的文件压缩格式
            1.对于刚采集过的源数据,需要用TextFile格式进行保存,需要保证源数据的格式及内容和原先一致
            2.对于处理过的数据,一般对数据进行压缩保存(需要考虑实际情况)

        4.命名要规范
            创建表时,需要遵守:
                如果数据存储在dwd中那么建表时需要将 dwd 放至 表的开端
                同时后面的业务名称需要和库名用 _ 进行分隔

        5.数据分层,表分离,但是也不要分的太散
            数据分层:
                将不同类型的数据,应当存储在不同库中,
                比如 维度表 应当存储在 维度库 、原始数据应当存储在ODS库中专门做管理
            表分离:
                在实际业务过程中,有一些表的维度比较大,单个表的存储压力大
                同时数据读取时,拉去的数据内容比较多,但是所需要的字段较少,浪费计算资源
                可以将表中相同类型的信息切分至多个表中,根据实际业务需要进行读取数据
                如果分的太散,那么也会造成数据冗余,并且加载表过多,计算慢

        6.分区裁剪 where过滤,先过滤,后join
            1.针对分区表数据,可以通过where条件进行过滤数据,之后再进行其他操作
            2.适当的使用一些子查询,将子查询中的数据进行初步过滤,然后再与其他表数据进行关联
 

 

http://www.lryc.cn/news/410626.html

相关文章:

  • deploy local llm ragflow
  • 测桃花运(算姻缘)的网站系统源码
  • 电商平台优惠券
  • 内衣洗衣机多维度测评对比,了解觉飞、希亦、鲸立哪款内衣洗衣机更好
  • 数据结构和算法入门
  • 基于OpenCV C++的网络实时视频流传输——Windows下使用TCP/IP编程原理
  • (BS ISO 11898-1:2015)CAN_FD 总线协议详解6- PL(物理层)规定3
  • docker环境下php安装扩展步骤 以mysqli为例
  • 医院综合绩效核算系统,绩效核算系统源码,采用springboot+avue+MySQL技术开发,可适应医院多种绩效核算方式。
  • ROOM数据快速入门
  • 刷新,前面接口的返回值没有到,第二个接口已经请求完了,导致第二个接口返回数据错误
  • pdcj设计
  • 【数据结构】哈希表的模拟实现
  • 面试经典算法150题系列-数组/字符串操作之多数元素
  • 海南云亿商务咨询有限公司领航抖音电商服务
  • C#初级——继承
  • Github 2024-07-29 开源项目日报 Top10
  • nginx反向代理和负载均衡+安装jdk-22.0.2
  • 软考高级科目怎么选?软考高级含金量排序
  • 【机器学习西瓜书学习笔记——模型评估与选择】
  • vue3+cesium创建地图
  • Zookeeper客户端和服务端NIO网络通信源码剖析
  • 从DevOps到DevSecOps是怎样之中转变?
  • ORM与第三方数据库对接的探讨及不同版本数据库的影响
  • Windows远程桌面无法拷贝文件问题
  • 优化数据处理效率,解读 EasyMR 大数据组件升级
  • 并发编程AtomicInteger详解
  • ctfshow 权限维持 web670--web679
  • 职场生存指南
  • Spring源码(八)--Spring实例化的策略