码迷,mamicode.com
首页 > 其他好文 > 详细

Hive实际应用小结

时间:2017-10-30 19:39:45      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:设定   封装   效率比较   .com   需要   学习   简介   hadoop   crontab   

1.简介

Hive是数据仓库平台,构建在Hadoop之上用来处理结构化数据。Hive是一个SQL解析引擎,能够将SQL语句转化成MapReduce作业并在Hadoop上执行,从而使得查询和分析更加方便。
Hive是Facebook开发。2008年贡献给Apache,成为开源项目。

技术分享

2.应用

由上图可见,hive的诞生可以很降低开发人员运用mapreduce计算框架的门槛,通过熟悉的SQL语句来实现复杂的mapreduce代码的编写,从而降低开发难度提高开发效率。

Hive适用于海量结构化数据的离线分析,如果有需求是是需要统计计算大数据量而且对于时效性没有过高要求的情况下,建议采用Hive来做处理。不适用于复杂的机器学习算法,因为机器学习算法大多涉及大量的迭代计算,而hive默认情况下底层封装的计算框架是MapReduce,计算效率比较低下不适合复杂的计算,(Hive on Spark另议),因为底层的计算框架是mapreduce 所以也不适合交互式实时查询,有交互式实时查询建议使用Impala。

3.使用方法及技巧

1)使用hive -e 将SQL写入shell脚本进行调用,如进行一些数据的定时汇总。使用定时器进行shell脚本的调用,可以使用oozie或者crontab调用hive脚本

2)当多个SQL并发执行占用资源过多时,可以通过设置HiveQL语句的优先级来告诉yarn优先给那个MapReduce分配资源(HiveQL底层转化成MapReduce执行),使用语句 SET mapreduce.job.priority=HIGH;设定任务的优先级是高,总共有四个级别,此处不再赘述。

3)HiveQL书写时遇到Join语句,当尽量遵循先过滤后Join

4)避免使用in ,not in语句

5)当多表join时。应当选择合适的表作为主表。

 

Hive实际应用小结

标签:设定   封装   效率比较   .com   需要   学习   简介   hadoop   crontab   

原文地址:http://www.cnblogs.com/kongcong/p/7755621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!