Amber
Zhao
  Wed, Feb 25 2015 3:36 AM

很多用户在使用HDInsight的Pig功能时,发现有时很简单一个Pig Latin的relation会花费很长时间执行,当HDI使用MR框架时,由于Pig会根据具体的relation拆分成相应的Map和Reduce任务。根据Hadoop的MR框架如下特点,针对Reduce并行度的优化,会对Pig的作业有很大的性能影响。

Hadoop的MR框架中有以下特点:

  • Map的并行度个数是由输入文件来决定,而Reduce并行度的个数是由Parallel关键字来决定。
  • 当不指定parallel关键字时, Reduce task仅有一个。
  • Reduce的并行度依赖于cluster的规模。

具体内容看如下文档:http://wiki.apache.org/pig/PigLatin

当我们使用Get-AzureHDInsightJobOutput来进一步分析Pig作业的具体执行情况,我们可以通过Pig作业执行的具体日志来查看Map和Reduce的效率。如下为当使用group by的Pig作业的日志信息:

===================================================

测试1:默认一个Reduce的Pig 作业,执行Pig作业花费了74分钟:

-----------------------------

2015-02-10 09:01:27,937 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher- 0% complete

2015-02-10 09:02:43,446 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher- 4% complete

2015-02-10 10:15:18,029 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher- 100% complete

JobId     Maps    Reduces              MaxMapTime   MinMapTIme    AvgMapTime              MedianMapTime            MaxReduceTime             MinReduceTime              AvgReduceTime              MedianReducetime        Alias      Feature              Outputs

job_1423547880282_0013          482        1            418        23          63          63              4314      4314      4314      4314      analyzed,grpd,outtuple GROUP_BY              wasb:///home/ambertest1_32node,

-----------------------------

测试2:优化为80个Reduce的Pig  作业,执行同样的Pig 作业花费了6分钟:

-----------------------------

2015-02-23 12:05:46,885 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher- 0% complete

2015-02-23 12:07:06,056 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher- 4% complete

2015-02-23 12:11:27,168 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher- 100% complete

JobId     Maps    Reduces              MaxMapTime   MinMapTIme    AvgMapTime              MedianMapTime            MaxReduceTime             MinReduceTime              AvgReduceTime              MedianReducetime        Alias      Feature              Outputs

job_1423547880282_0049          482        80          134        19          57          61              204        70          153        155        analyzed,grpd,outtuple GROUP_BY              wasb:///home/ambertest9_32node,

-----------------------------

===================================================

以上Pig Latin作业主要使用的是 Group by来声明Pig的relation,此外针对其它等同样需要使用reduce关键字的Pig作业,有以下优化建议:

1. 在具体执行的Pig Latin中指定所需的Reduce并行度,具体语句如下:

SET default_parallel 80; <根据具体HDIcluster的规模设定Reduce的并行度>

2. 设定整个HDI cluster的MR框架的Reduce并行度,方法如下:

修改mapred-site.xml文件的如下属性:

    <property>

<name>mapreduce.job.reduces</name>

<value>80</value>

</property>

如果你有任何疑问,欢迎访问MSDN社区,由专家来为您解答Windows
Azure各种技术问题,或者拨打世纪互联客户服务热线400-089-0365/010-84563652咨询各类服务信息。

本文转载自: http://blogs.msdn.com/b/cciccat/archive/2015/02/25/reducer-number-for-pig-job.aspx

Reduce对Pig作业性能的影响的更多相关文章

  1. Hadoop作业性能指标及參数调优实例 (三)Hadoop作业性能參数调优方法

    作者: Shu, Alison Hadoop作业性能调优的两种场景: 一.用户观察到作业性能差,主动寻求帮助. (一)eBayEagle作业性能分析器 1. Hadoop作业性能异常指标 2. Had ...

  2. Hadoop作业性能指标及參数调优实例 (二)Hadoop作业性能调优7个建议

    作者:Shu, Alison Hadoop作业性能调优的两种场景: 一.用户观察到作业性能差,主动寻求帮助. (一)eBayEagle作业性能分析器 1. Hadoop作业性能异常指标 2. Hado ...

  3. HTTP/2 对 Web 性能的影响(下)

    一.前言 我们在 HTTP/2 对 Web 性能的影响(上)已经和大家分享了一些关于 Http2 的二项制帧.多用复路以及 APM 工具等,本文作为姊妹篇,主要从 http2 对 Web 性能的影响. ...

  4. 05:Sysbench压测-innodb_deadlock_detect参数对性能的影响

    目录 sysbench压测-innodb_deadlock_detect参数对性能的影响 一.OLTP测试前准备 二.进行OLTP测试 三.测试结果解读: 四.关于测试后的结论: 五.关于测试后的性能 ...

  5. 高性能JavaScript-JS脚本加载与执行对性能的影响

    在web产品优化准则中,很重要的一条是针对js脚本的加载和执行方式的优化.本篇文章简单描述一下其中的优化准则. 1. 脚本加载优化 1.1 脚本位置对性能的影响 优化页面加载性能的原则之一是将scri ...

  6. JAVA 异常对于性能的影响

    陶炳哲 - MAY 12, 2015 在对OneAPM的客户做技术支持时,我们常常会看到很多客户根本没意识到的异常.在消除了这些异常之后,代码运行速度与以前相比大幅提升.这让我们产生一种猜测,就是在代 ...

  7. smarty对网页性能的影响--开启opcache

    在上一篇<smarty对网页性能的影响>中,默认没有开启opcache,于是我安装了一下zend opcache扩展,重新实验了一下,结果如下: 有smarty 用apache的ab命令进 ...

  8. C++ 性能剖析 (四):Inheritance 对性能的影响

    (这个editor今天有毛病,把我的format全搞乱了,抱歉!) Inheritance 是OOP 的一个重要特征.虽然业界有许多同行不喜欢inheritance,但是正确地使用inheritanc ...

  9. css的!important规则对性能有影响吗

    最近在做项目中发现很多CSS代码里面都使用!important去覆盖原有高优先级的样式.按照常理来说,越是灵活的东西,需要做的工作就会更多.所以想当然的认为像!important这样灵活.方便的规则如 ...

随机推荐

  1. 1079. Total Sales of Supply Chain (25)

    时间限制 250 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A supply chain is a network of r ...

  2. poj 3641 Pseudoprime numbers Miller_Rabin测素裸题

    题目链接 题意:题目定义了Carmichael Numbers 即 a^p % p = a.并且p不是素数.之后输入p,a问p是否为Carmichael Numbers? 坑点:先是各种RE,因为po ...

  3. Android的ProgressBar以及自定义进度条

    1.xml文件 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an ...

  4. Asp.Net MVC过滤器小试牛刀

    在上学期间学习的Asp.Net MVC,基本只是大概马马虎虎的了解,基本处于知其然而不知其所以然.现在到上班,接触到真实的项目,才发现还不够用,于是从最简单的过滤器开始学习.不得不说MVC的过滤器真是 ...

  5. 如何在Linux下重命名多个文件

    在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且 ...

  6. MoonWarriors-lua——《雷电战机》游戏-Lua移植版

    MoonWarriors是一个使用Cocos2d-Html5引擎开发的类似雷电战机的游戏Demo,源代码发布在Cocos2d-x官网的引擎示例当中.MoonWarriors-lua是为了学习Cocos ...

  7. bnu 4359 无爱编号(规律)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=4359 [题意]:输入N,表示几位数,0-这个N位数,有多少个满足条件的号码,不满足的情况为出现4,1 ...

  8. 1016: [JSOI2008]最小生成树计数 - BZOJ

    Description 现在给出了一个简单无向加权图.你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树.(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的 ...

  9. 3.3 spring-meta子元素的使用与解析

    1. meta元素的使用 在解析元数据的分析之前,我们先回顾一下 meta属性的使用: <bean id="car" class="test.CarFactoryB ...

  10. Extjs4.2——Panel

    一.Panel的border属性: 示例: Ext.create('Ext.panel.Panel', { title: 'Hello', width: 200, height:100, border ...