hive学习总结笔记

本文不介绍 hive的入门基础知识,只说一些关于hive的使用经验。


1)牢记一点hive只是一个基于Hadoop的数据仓库工具,把sql转换成mapreduce,它的强项在于数据统计、方便灵活开发测试,对于复杂的etl逻辑建议用临时表分阶段去处理或者编写mapreduce程序处理。

2)关注hive sql是否造成数据倾斜。 解决数据倾斜的办法。了解你的数据分布如:是否某些key是其他key的多倍,或者关联的key为空等等。

3)稳定的调度系统非常重要。因为hive,tez运行的时候可能造成意外的错误,所以调度系统对已经上线的脚步自动重跑2,3遍就非常的好。

4)perl,Python脚步运行hql尽量一个脚步运行一段hql,对于意外发生的错误追数方便很多。

5)尽量理解hql怎么转化成mapreduce的,有助于性能调优、排错等。

6)尽早的过滤数据。不单单指某条hql过滤数据,而是从整体架构中考虑如何过滤数据。我们点击流日志每天17亿条(800G)左右的日志,选择过滤日志的方法就是,按日志类型拆分、一天一个分区、不同的业务类型拆分等相关手段。这样按日汇总、按月汇总数据容易很多。



猜你喜欢

转载自blog.csdn.net/xingyue0422/article/details/78246979