博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

hive 优化有哪些?

(1) 数据存储及压缩。

针对hive中表的存储格式通常有orcparquet,压缩格式一般使用snappy

相比与textfile格式表,orc 占有更少的存储。

因为 hive 底层使用 MR 计算架构,数据流是 hdfs 到磁盘再到hdfs,而且会有很多次,

所以使用 orc 数据格式和 snappy 压缩策略可以降低 IO 读写,还能降低网络传输量,

这样在一定程度上可以节省存储,还能提升 hql 任务执行效率;

lzo 压缩 : 减少磁盘空间占用

列式存储 :  行转列 text -> parquet

(2) 通过调参优化。

tez 引擎 : 不是只有MR,更灵活,运算更快
并行执行,调节 parallel 参数;
调节 jvm 参数,重用 jvm
设置 mapreduce 的参数;
开启 strict mode 模式;
关闭推测执行设置。

(3) 有效地减小数据集
将大表拆分成子表;
结合使用外部表和分区表。


(4) SQL 优化
大表对大表:尽量减少数据集,可以通过分区表,避免扫描全表或者全字段;
大表对小表:设置自动识别小表,将小表放入内存中去执行

 

sql explain : join where 先 where 后 join
 hql -> mr : 解析 编译 优化 执行

 

posted @ 2022-05-31 16:45  CHANG_09  阅读(168)  评论(0编辑  收藏  举报