细细品味Hadoop_Hadoop集群(第14期副刊)_Hive性能优化.pdf

细细品味Hadoop_Hadoop集群(第14期副刊)_Hive性能优化.pdf

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
细细品味Hadoop_Hadoop集群(第14期副刊)_Hive性能优化

细细品味Hadoop ——Hadoop 集群(第14 期副刊) 精 华 集 锦 csAxp 虾皮工作室 /xia520pi/ 2013 年7 月10 日 创建时间:2012/3/29 修改时间:2012/3/29 修改次数:0 Hadoop 集群(第14 期副刊) ——Hive 性能优化 1、性能低下根源 Hive 性能优化时,把HiveQL 当做Map/Reduce 程序来读,即从Map/Reduce 的运行角 度来考虑优化性能,从更底层思考如何优化运算性能,而不仅仅局限于逻辑代码的替换层面。 RAC (Real Application Cluster )真正应用集群就像一辆机动灵活的小货车,响应快, Hadoop 就像吞吐量巨大的轮船,启动开销大,如果每次只做小数量的输入输出,利用率将 会很低。所以用好Hadoop 的首要任务是增大每次任务所搭载的数据量。 Hadoop 的核心能力是pariton 和sort,因而这也是优化的根本。 观察Hadoop 处理数据的过程,有几个显著的特征:  数据的大规模并不是负载重点,造成运行压力过大是因为运行数据的倾斜。  jobs 数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关 联多次汇总,产生十几个jobs ,将会须要30 分钟以上的时间且大部分时间被用于 作业分配,初始化和数据输出。Map/Reduce 作业初始化的时间是比较耗费时间资 源的一个部分。  在使用sum,count,max ,min 等函数时,Hadoop Map 端对表中数据的汇总去重, 能有效的解决数据倾斜问题。  count (distinct )效率较低,因为容易产生数据倾斜问题,如果是多count (distinct ) 效率更低。  数据倾斜是导致效率大幅降低的主要原因,可以采用多一次Map/Reduce 的方法, 避免倾斜。 结论:避实就虚,用job 数的增加,输入量的增加,占用更多存储空间,充分利用空闲 CPU 等各种方法,分解数据倾斜造成的负担。 2 、从配置角度优化 Hive 系统内部已针对不同的查询预设定了优化方法,用户可以通过调整配置进行控制, 以下举例介绍部分优化的策略以及优化控制选项。 2.1 列裁剪 Hive 在读数据的时候,可以只读取查询中所需要用到的列,而忽略其它列。 例如,若有以下查询: Select a,b From Q Where e10; 在实施此项查询中,Q 表有 5 列(a,b ,c,d,e ),Hive 只读取查询逻辑中真实需要 的3 列a、b 、e,而忽略列c,d ;这样做节省了读取开销,中间表存储开销和数据整合开销。 河北工业大学——软件工程与理论实验室 整理:虾皮 1 创建时间:2012/3/29 修改时间:2012/3/29 修改次数:0 列裁剪所对应的参数项为:hive.optimize.cp=true (默认值为真) 2.2 分区裁剪 可以在查询的过程中减少不必要的分区。 例如,若有以下查询: Select * From (Select a1,Count(1) From T Group By a1) subq Where subq.prtn=100; Select * From T1 Join (Select * From T2)

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档