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

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的