Hive性能优化简介 (顺便介绍了性能工具--ANALYZE)

2024-06-09 23:58

本文主要是介绍Hive性能优化简介 (顺便介绍了性能工具--ANALYZE),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ANALYZE关键字可以收集数值统计信息。

加速查询,直接从统计信息中拿,而不会再启动mapreduce去查询。

用desc命令去查统计信息。

 

 

Hive性能优化包含以下点:

partition table 这是最好的优化,比如用年月日,部门

联合查询,可以先按xx做分区,再按别的做分区

 

bucket table 

经常被join连接查询的这种column上建立bucket

这才能提高查询效率

 

index

每当数据更新时,也要去更新索引,所以维护成本也不小。

实际用的比较少。

 

几种好用的数据类型,

orc ,parquet等,都是基于列的,所以查询性能非常高。

(数据过滤等经常用)

 

数据压缩

第一,可以减少很多空间。

第二,数据shuffle过程中传输速度也会变快。

但是压缩了也要解压,所以也不能压缩的太狠。

有专门的算法叫snappy  用于快速压缩,压缩比适中。

 

data localization

处理引擎放到另一个集群。。。

数据和算法尽量不分离,

比如说我hadoop我把三个拷贝增加到六个拷贝。

(这点不太懂)

 

Avoid small files

为什么使用动态分区会对集群产生不好的影响(产生小文件)?(间接问法)

避免存放太多小文件,原因如下:

1. 因为每个文件都会产生元数据存在namenode的内存。

namenode资源被过多消耗,性能会受到很大影响。

2. 因为block size是比较大的,文件虽然小,但是小文件增大后占的blocksize会越来越多。

解决方法:

1.多进行合并,有一些自动合并功能。没有用hive时,写第三方mapreduce job来合并。

2.多生成大文件的数据源再发给hadoop

 

Hive

可以用TEZ engine来代替mapreduce,它本质是mapreduce的最佳实践。

性能很高。

 

使用Hive LLAP

Hive2.0后 LLAP优化,在后台启动一个长久的线程,不会为每次查询再启动。

数据通过缓存来获得,而不是所有结果都直接去查询。

 

Hive transaction

不必要就不要建立事务,

很消耗资源

除非你有特殊需求。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于Hive性能优化简介 (顺便介绍了性能工具--ANALYZE)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046664

相关文章

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.