从接触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的,有助于性能调优、排错等。
时间: 2024-10-09 18:36:47