Hive性能优化复习总结.pdf

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

Hive性能优化总结介绍首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?■数据量大不是问题,数据倾斜是个问题。■jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十儿个jobs,耗时很长。原因是mapreduce作业初始化的时间是比较长的。■sum,count,max,min等UDAF,不怕数据倾斜问题,hadoop在map端的汇总合并优化,使数据倾斜不成问题。count(distinct),在数据量大的情况下,效率较低,如果是多count(distinct)效率更低,因为count(distinct)是按groupby字段分组,按distinct字段排序,一般这种分布方式是很倾斜的。举个例子:比如男uv,女uv,像淘宝一天亿的如果按性别分组,分配个每个处理亿数据。30pv,2reduce,reduce15面对这些问题,我们能有哪些有效的优化手段呢?下面列出一些在工作有效可行的优化手段:好的模型设计事半功倍。■解决数据倾斜问题。■减少job数。■设置合理的mapreduce的task数,能有效提升性能。(比如,10w+级别的计算,用个那是相当的浪费,个足够)。160reduce,1■了解数据分布,自己动手解决数据倾斜问题是个不错的选择。sethive.groupby.skewindata=true;这是通用的算法优化,但算法优化有吋不能适应特定业务背景,开发人员了解业务,了解数据,可以通过业务逻辑精确有效的解决数据倾斜问题。■数据量较大的情况下,慎用count(distinct),count(distinct)容易产生倾斜问题。■对小文件进行合并,是行至有效的提高调度效率的方法,假如所有的作业设置合理的文件数,对云梯的整体调度效率也会产生积极的正向影响。优化时把握整体,单个作业最优不如整体最优。而接下來,我们心屮

最近下载