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.mzph.cn/web/50774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware 的网络模式详解

VMware 的网络模式详解 使用 VMware 创建虚拟机,配置虚拟机网络时,主要有三个选项,分别是桥接模式、NAT 模式、仅主机模式 这三个模式到底有什么含义? VMware 是通过虚拟网络,即虚拟交换机,来连接物理机&…

泥球代码是什么,如何预防?typescript例

“泥球代码”(Spaghetti Code)通常是指结构混乱、复杂度高且难以理解或维护的代码。这样的代码往往缺乏清晰的设计和规划,看起来就像一团乱糟糟的意大利面,因此得名。 在软件开发中,避免产生泥球代码是非常重要的&…

angular入门基础教程(五)父子组件的数据通信

组件之间的通信是我们业务开发中少不了的,先了解下父子组件的通信 父组件传数据给子组件 前面,我们学会会动态属性的绑定,所以在父组件中给子组件绑定属性,在子组件中就可以使用这个属性了。 父组件中声明然后赋值 export class AppCompon…

设计模式-备忘录

备忘录(Memento)设计模式是为了保存对象当前状态,并在需要的时候恢复到之前保存的状态。以下是一个简单的C#备忘录模式的实现: // Originator 类,负责创建和恢复备忘录 class Originator {private string state;publi…

智能开关助力酒店管理提升

随着科技的迅猛跃进,智能化浪潮席卷全球,酒店业亦不例外地迎来了智能化转型的新纪元。智能开关,作为这股浪潮中的先锋,凭借其尖端的通信技术和智能控制逻辑,正深刻改变着酒店的运营模式与顾客体验。 它不仅赋予了酒店远…

如何理解tcp的三次握手?

TCP(传输控制协议)是一种网络通信协议,用于可靠地传输数据。它是互联网协议套件(TCP/IP)中的一部分,负责将数据分割成小块(称为数据包),通过网络传输,然后在接…

IP地址证书签发之后可以绑定到指定端口访问吗?

IP地址证书概述 IP地址证书,也称为IP SSL证书,是为互联网协议(IP)地址提供安全认证的一种证书。它包含公钥、所有者信息以及由可信的证书颁发机构(CA)签发的数字签名。通过使用公钥基础设施(PKI),IP地址证书确保了网络实体之间的信任和验证。…

语音合成大模型汇总

https://www.speechhome.com/blogs/news/1810969234071752704 阿里CosyVoice: https://github.com/FunAudioLLM/CosyVoice NeuCo v2声音克隆首发,一键AI翻唱,无需训练!在线版SoVITS,在线使用,只需10秒音频…

React基础知识 精简全面 推荐

这篇博文主要对一些刚入门react框架的同学,以及对react基本知识进行巩固的,最后就是精简一下基本知识,以方便自己查看,感谢参考,有问题评论区交流,谢谢。 目录 1.JSX 2.Props 和 State 3.组件生命周期…

基于JAVA的美妆购物商城系统/美妆销售系统的设计与实现/美妆网站的设计与开发/在线美妆购物平台

摘 要 本毕业设计的内容是设计并且实现一个基于SSM框架的美妆购物商城系统。它是在Windows下,JSP技术,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器。美妆购物商城系统的功能已基本实现,主要包括用户、商品信息、…

2024电赛H题参考方案(+视频演示+核心控制代码)——自动行使小车

目录 一、题目要求 二、参考资源获取 三、参考方案 1、环境搭建及工程移植 2、相关模块的移植 4、整体控制方案视频演示 5、视频演示部分核心代码 总结 一、题目要求 小编自认为:此次H题属于控制类题目,相较于往年较为简单,功能也算单一&…

科普文:『 码到三十五 』Java微服务中Token鉴权设计的4种方案

吐槽~~~~~~~ Java微服务中Token鉴权设计的几种方案: 1. JWT鉴权 「概述」:JWT是一种用于双方之间安全传输信息的简洁的、URL安全的令牌标准。它基于JSON格式,包含三个部分:头部(Header)、负载(Payload&a…

ubuntu Ubuntu 20.04.6 LTS 安装vtk 报错缺少opengl

ubuntu编译9.3.0 vtk报错 -- Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY OPENGL_glx_LIBRARY OpenGL) CMake Error at CMake/vtkModule.cmake:4793 (message): Could not find the OpenGL external dependency. Call Stack (most recent call first): CMake/vtkMo…

typescript 断言

/* 断言 确定后期一定是某种格式 可用于表单大对象初始化是空,赋值时有具体字段。前期断言是会是某种格式 */interface obj {name: stringlocation: stringage?: number }// 会报错 // let data: obj { // // } let data: obj {} as obj; // 断言data会有obj里…

PHP框架详解之Symfony框架

一、框架概述 起源与开发者:Symfony由SensioLabs(现为Symfony公司)开发,最初由Fabien Potencier于2005年创建。功能定位:Symfony通过提供一套可重用的组件和标准化的框架,帮助开发者快速构建Web应用、API、…

如何将WordPress文章中的外链图片批量导入到本地

在使用采集软件进行内容创作时,很多文章中的图片都是远程链接,这不仅会导致前端加载速度慢,还会在微信小程序和抖音小程序中添加各种域名,造成管理上的麻烦。特别是遇到没有备案的外链,更是让人头疼。因此,…

Monte Carlo Tree Search Boosts Reasoning via Iterative Preference Learning

Monte Carlo Tree Search Boosts Reasoning via Iterative Preference Learning Github:https://github.com/YuxiXie/MCTS-DPO 一、动机 大语言模型在偏好对齐环节可以提高模型的性能。目前有诸多工作尝试将偏好对齐通过迭代的形式进行改进: It involves a cycle …

CentOS下通过yum搭建完整lnmp环境(多版本PHP共存)

lnmp即 Linux Nginx Mysql PHP,在同一台服务器,可以支持多版本PHP共存使用,本文以 CentOS 7.x 为例介绍如何通过 yum 的方式搭建多版本 PHP 的 lnmp 环境。 前置条件 假设服务器已经通过 yum 方式搭建 lnmp 环境(单版本PHP&a…

Linux下50个基本命令的使用说明【按首字母排序】

1. alias 用于为命令创建别名,以简化命令的输入。 alias llls -l # 现在输入ll将等同于ls -l2. apt-get 用于Debian及其衍生发行版的包管理工具。 sudo apt-get update # 更新包列表 sudo apt-get install package_name # 安装软件包3. cat 用于连接和显示文件内…

Scrapy框架在处理大规模数据抓取时有哪些优化技巧?

在使用Scrapy框架处理大规模数据抓取时,优化技巧至关重要,可以显著提高爬虫的性能和效率。以下是一些实用的优化技巧: 1. 并发请求 增加并发请求的数量可以提高爬虫的响应速度和数据抓取效率。可以通过设置CONCURRENT_REQUESTS参数来调整。…