hive调优笔记
来源:互联网 发布:vincent知乎 编辑:程序博客网 时间:2024/06/05 02:19
hiveSQL官网:https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions
https://cwiki.apache.org/confluence/display/Hive/Home
Hive所有SQL语法https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select#LanguageManualSelect-WHEREClause
hive在创建表格时候有多种格式类型,默认格式文件格式textFile,常用的textFile、ORC,RCFile、parquet另外还有AVRO、inputformat
,数据存储分为:案列存储和按行存储
hive表文件压缩格式常用压缩方式ZLIB、SNAPPY
snappy压缩语句:
create table quyu_orc_snappy(id int,phone string,province string,city string)row format delimited fields terminated by ',' stored as orc tblproperties("orc.compress"="SNAPPY") ;未压缩前数据大小:
用snappy压缩格式后文件大小:
比较:
综上:
在实际的开发当中,hive表的数据
1.存储格式:orcfile/qarquet
2.数据压缩格式:snappy
hive 优化方式有可以从两大方面
数据存储的优化,数据处理的优化
一数据优化:
1.大表拆分成子表
2.外部表和分区表
a二者结合使用
b单独使用
3.数据压缩
存储格式(常用textfile(创建表默认)、RCFile、parquet)
压缩格式:常用snappy
二、数据处理优化
1.Hive的SQL语句
优化SQL语句
Join :有三种join:map join、reduce join、 SMB join
具体事例
事例一:
优化前:
select d.already_check_num,i.order_code from
(select order_info_id,already_check_num from order_detail) d
join
(select id,order_code from order_info) i
on
i.id=d.order_info_id;
性能:
优化后:
select d.already_check_num,i.order_code from
order_detail d
join
order_info i
on
i.id=d.order_info_id;
性能:
实例二:
优化前:
select d.already_check_num,i.order_code,d.check_status from
order_detail d
join
order_info i
on
i.id=d.order_info_id where d.check_status="un_check"
优化后:
select d.already_check_num,i.order_code from
(select order_info_id,already_check_num from order_detail where check_status ="un_check") d
join
(select id,order_code from order_info) i
on
i.id=d.order_info_id;
性能:
vi /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/etc/hive/conf.dist/hive-default.xml.template
快速查询paralle
:/paralle即可
join 并发执行(相互不干扰的情况可以让多个join并发执行)
在hive-default.xml中设置参数默认情况下最多可以有8个job任务同时执行如下图,一般自定义10-15之间
动态分区属性:设置文nonstrict表示允许所有分区都是动态的(默认strict)
---设置为strict,表示必须保证至少一个分区是静态的
2.mapreduce
控制reduce number
如在通常情况下数据只经过map端/*map..
JVM的优化
- hive调优笔记
- 【Hive】Hive笔记:Hive调优总结——数据倾斜,join表连接优化
- Hive性能与调优—学习笔记[4]
- HIVE笔记
- hive笔记
- Hive笔记
- hive笔记
- Hive笔记
- Hive笔记
- hive笔记
- hive笔记
- hive笔记
- hive笔记
- Hive 笔记
- HIVE 笔记
- HIVE笔记
- hive笔记
- hive笔记
- 浅谈android中的异步加载一
- python科学计算
- 基本数据类型
- 184. Department Highest Salary
- 基于Spring Boot和Spring Cloud实现微服务架构学习
- hive调优笔记
- 我遇到的android6.0闪退 没有正确提示错误
- Cocoa深入学习:NSOperationQueue、NSRunLoop和线程安全
- VS2012调用libcurl库
- 数据类型的转换
- Android 4.0 Launcher2源码分析——桌面快捷图标的拖拽
- 垃圾收集与内存分配策略
- JAVA设计模式之中介模式
- 如何使用Socket在局域网内进行广播