`

pig on tez测试

阅读更多

pig on tez测试

 

pig tez hadoop hdfs

 

测试环境

  • pig-0.14.0
  • hadoop-2.5.2 ()1+2)

hive on tez 测试后,很好奇,pig是否可以在tez上运行呢?从官网上可以看到pig on tez的描述,就想应该是可以pig on tez的.

pig安装过程略过…

准备数据集

[hadoop@mymaster ~]$ wget http://hortonassets.s3.amazonaws.com/pig/lahman591-csv.zip
[hadoop@mymaster ~]$ unzip lahman591-csv.zip
[hadoop@mymaster ~]$ hadoop fs mkdir /test
[hadoop@mymaster ~]$ hadoop fs -put lahman591-csv/Batting.csv /test  // 将Batting.csv上传到hdfs

编写pig测试脚本

[hadoop@mymaster ~]$ mkdir pig
[hadoop@mymaster ~]$ vim pig/test.pig
batting = LOAD '/test/Batting.csv' USING PigStorage(',');
raw_runs = FILTER batting BY $1>0;
runs = FOREACH raw_runs GENERATE $0 AS playerID, $1 AS year, $8 AS runs;
grp_data = GROUP runs BY (year);
max_runs = FOREACH grp_data GENERATE group as grp, MAX(runs.runs) AS max_runs;
join_max_runs = JOIN max_runs BY ($0, max_runs), runs BY (year, runs);
join_data = FOREACH join_max_runs GENERATE $0 AS year, $2 AS playerID, $1 AS runs;
DUMP join_data;

mr方式运行 test.pig

[hadoop@mymaster ~]$ /usr/local/pig-0.14.0/bin/pig -x mr pig/test.pig
// 片段
Input(s):
Successfully read 95195 records (6399268 bytes) from: "/test/Batting.csv"

Output(s):
Successfully stored 151 records (4507 bytes) in: "hdfs://10.128.17.21:9000/tmp/temp1552838877/tmp1249909816"

Counters:
Total records written : 151
Total bytes written : 4507
Spillable Memory Manager spill count : 0
Total bags proactively spilled: 0
Total records proactively spilled: 0
-------
(1988,boggswa01,128.0)
(1989,boggswa01,113.0)
(1990,henderi01,119.0)
(1991,molitpa01,133.0)
(1992,phillto02,114.0)
(1993,dykstle01,143.0)
(1994,thomafr04,106.0)
(1995,biggicr01,123.0)
(1996,burksel01,142.0)
(1997,biggicr01,146.0)
(1998,sosasa01,134.0)
(1999,bagweje01,143.0)
(2000,bagweje01,152.0)
(2001,sosasa01,146.0)
(2002,soriaal01,128.0)
(2003,pujolal01,137.0)
(2004,pujolal01,133.0)
(2005,pujolal01,129.0)
(2006,sizemgr01,134.0)
(2007,rodrial01,143.0)
(2008,ramirha01,125.0)
(2009,pujolal01,124.0)
(2010,pujolal01,115.0)
(2011,grandcu01,136.0)
2015-06-02 13:49:39,574 [main] INFO  org.apache.pig.Main - Pig script completed in 1 minute, 10 seconds and 20 milliseconds (70020 ms)

运行情况: 
输入:95195 records 
输出:151 records 
耗时:70s

tez 方式运行test.pig

[hadoop@mymaster pig]$ /usr/local/pig-0.14.0/bin/pig -x tez pig/test.pig

       HadoopVersion: 2.5.2                                                                                               
          PigVersion: 0.14.0                                                                                              
          TezVersion: 0.5.2                                                                                               
              UserId: hadoop                                                                                              
            FileName: 1.pig                                                                                               
           StartedAt: 2015-06-02 13:50:03                                                                                 
          FinishedAt: 2015-06-02 13:50:34                                                                                 
            Features: HASH_JOIN,GROUP_BY,FILTER                                                                           

Success!

DAG PigLatin:1.pig-0_scope-0:
       ApplicationId: job_1432693876849_0008                                                                              
  TotalLaunchedTasks: 3                                                                                                   
       FileBytesRead: 3494886                                                                                             
    FileBytesWritten: 5509316                                                                                             
       HdfsBytesRead: 6398886                                                                                             
    HdfsBytesWritten: 4507                                                                                                

Input(s):
Successfully read 95195 records (6398886 bytes) from: "/test/lahman591-csv/Batting.csv"

Output(s):
Successfully stored 151 records (4507 bytes) in: "hdfs://10.128.17.21:9000/tmp/temp-1130777030/tmp93164502"

(1994,thomafr04,106.0)
(1995,biggicr01,123.0)
(1996,burksel01,142.0)
(1997,biggicr01,146.0)
(1998,sosasa01,134.0)
(1999,bagweje01,143.0)
(2000,bagweje01,152.0)
(2001,sosasa01,146.0)
(2002,soriaal01,128.0)
(2003,pujolal01,137.0)
(2004,pujolal01,133.0)
(2005,pujolal01,129.0)
(2006,sizemgr01,134.0)
(2007,rodrial01,143.0)
(2008,ramirha01,125.0)
(2009,pujolal01,124.0)
(2010,pujolal01,115.0)
(2011,grandcu01,136.0)
2015-06-02 13:50:34,623 [main] INFO  org.apache.pig.Main - Pig script completed in 34 seconds and 350 milliseconds (34350 ms)
2015-06-02 13:50:34,634 [main] INFO  org.apache.pig.backend.hadoop.executionengine.tez.TezLauncher - Shutting down thread pool

运行情况: 
输入:95195 records 
输出:151 records 
耗时:34s

测试结果 tez比yarn快2倍多 
根据本轮测试效果差异不大,要根据mr的串联数和数据大小 进行严格的测试 才能达到理想的官网测试性能指标,但是可以肯定的是,mr任务串联越多,tez的性能越显著.

hive on tez 的配置稍嫌麻烦,相对来说pig on tez的测试环境相当容易

参考:http://zh.hortonworks.com/hadoop-tutorial/faster-pig-tez/

分享到:
评论

相关推荐

    hive on tez 常见报错问题收集

    1)Failing because I am unlikely to write too. 2)Caused by: java.lang.OutOfMemoryError: Java heap space ...5)hive on tez 最终insert的表如果使用到union all 时会导致直接查询结果表数据为空的

    cdh继承tez引擎 cdh添加tez引擎 hive引擎增加

    包括pom修改的每个截图和配置,该文档从有道云笔记到处略加修改,其中pom内容格式需要你手动调整一下. 富含 大量截图帮助定位和配置. 含hive on tez 常见报错的解决方法. tez比spark更省心. spark容易出现内存问题.

    docker-hive-on-tez:在 Tez 上运行的 Apache Hive 的 Docker 镜像

    在 Tez 上运行 Apache Hive 的 Docker 镜像此存储库包含一个 docker 文件,用于构建 docker 映像以在 Tez 上运行 Apache Hive。 这个 docker 文件依赖于我的其他包含和 基础镜像的存储库。当前版本Apache Hive(主干...

    大数据Hive on MR/TEZ与hadoop的整合应用

    本课程主要介绍hive的架构与应用,首先介绍了hive的实现结构,然后介绍了Hive Metastore三种模式,接着重点介绍hive的安装与配置,以及hive sql的基本操作,后面又介绍了hive beeline、hive on tez的使用,并测试了...

    tez-ui-0.10.1.war

    最新版本tez-ui war包,可以解决tez编译问题出现tez-ui编译不进去的问题,现在可以吧这个拿出来自己配置到hadoop和tez上

    Apache TEZ部署手册

    Apache TEZ 部署手册 的各个步骤,包括打包等步骤说明

    源码apache-tez-0.8.3编译后的hadoop2.7.3版本hive-tez包tez-0.8.3.tar.gz

    源码使用的是apache-tez-0.8.3,对应的hadoop版本2.7.3,源码包中的nodejs的版本是v0.12.3,很难编译通过,最后把nodejs改成了v4.0.0才编译通过tez-ui2模块。

    tez-0.9.1.tar.gz

    tez-0.9.1.tar.gz(CDH6.3.2编译版)已安装测试

    hadoop 架构

    hadoop 架构图 详细描述 hadoop hive sqoop 等组件

    源码apache-tez-0.8.3编译后的hadoop2.8.3版本hive-tez包tez-0.8.3.tar.gz

    源码使用的是apache-tez-0.8.3,对应的hadoop版本2.8.3,源码包中的nodejs的版本是v0.12.3,很难编译通过,最后把nodejs改成了v4.0.0才编译通过tez-ui2模块。

    apache-tez源码

    学习大数据的小白用得到的apache tez源码,通过源码可以感受大牛们的代码风格和思维逻辑

    apache-tez-0.9.2-bin.tar.gz

    apache tez 安装

    apache-tez-0.9.0-bin.tar.gz

    Tez是Apache开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆...(3) 适用于DAG(有向图)应用(同Impala、Dremel和Drill一样,可用于替换Hive/Pig等)

    tez-0.10.1.zip

    基于github tez最新版本编译,编译日期为2021-03-22,压缩包带有tar包和tez-ui的war包

    tez-0.9.2-minimal.tar.gz

    基于hadoop 3.2.1和 TEZ 0.9.2 最新版本比编译的tar包 ,欢迎下载,欢迎使用,希望好用

    hive&tez.zip

    apache-hive-2.3.6-bin.tar.gz & apache-tez-0.9.1-bin.tar.gz

    运行引擎Tez.zip

    Tez是一个Hive的运行引擎,性能优于MR.Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。

    apache-tez-0.8.3-src.tar.gz

    Tez是Apache开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆...(3) 适用于DAG(有向图)应用(同Impala、Dremel和Drill一样,可用于替换Hive/Pig等

    Programming Pig: Dataflow Scripting with Hadoop [2016]

    Use Pig with Apache Tez to build high-performance batch and interactive data processing applications Create your own load and store functions to handle data formats and storage mechanisms

Global site tag (gtag.js) - Google Analytics