Hive-On-Tez性能测试


Table of Contents

Hive-On-Tez测试
MRR计算模型测试
MPJ计算模型测试

Hive-On-Tez测试

在MRR和MPJ计算模型的处理上,TEZ能够提升的性能较为明显,具体测试如下:

MRR计算模型测试

  • 测试表格

    1.users(id,name,password): 数据总量1千万条记录;

    2.peoples(id,name,gender,address): 数据总量1千万条记录;

    3.gender_summary(gender,count)

    3.address_summary(address,count)

  • 测试语句
    FROM (SELECT u.username, p.sex, p.address FROM users u
        JOIN peoples p ON u.userid = p.id)
    subql
    INSERT OVERWRITE TABLE gender_summary
        SELECT subql.sex, count(*) GROUP BY subql.sex
    INSERT OVERWRITE TABLE address_summary
        SELECT subql.address, count(*) GROUP BY subql.address;
    					
  • DAG有向无环图如下:

  • 执行结果
    1. 基于MapReduce运行

      MapReduce Jobs Launched:
      Stage-Stage-2: Map: 2  Reduce: 3   Cumulative CPU: 220.78 sec
      Stage-Stage-3: Map: 1  Reduce: 1   Cumulative CPU: 4.23 sec
      Stage-Stage-4: Map: 1  Reduce: 1   Cumulative CPU: 4.08 sec
      Total MapReduce CPU Time Spent: 3 minutes 49 seconds 90 msec
      Time taken: 186.853 seconds
      3次执行分别用时:186.853、188.748、191.812,平均用时:189.13秒。
      							
    2. 基于TEZ运行
      --------------------------------------------------------------------------------
              VERTICES      STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
      --------------------------------------------------------------------------------
      Map 1 ..........   SUCCEEDED      5          5        0        0       0       0
      Map 5 ..........   SUCCEEDED      6          6        0        0       0       0
      Reducer 2 ......   SUCCEEDED      2          2        0        0       0       0
      Reducer 3 ......   SUCCEEDED      1          1        0        0       0       0
      Reducer 4 ......   SUCCEEDED      1          1        0        0       0       0
      --------------------------------------------------------------------------------
      VERTICES: 05/05  [==========================>>] 100%  ELAPSED TIME: 56.23 s
      --------------------------------------------------------------------------------
      Time taken: 60.348 seconds
      3次执行分别用时:60.348、60.441、61.311,平均用时:60.7秒。
      							

    时间效率上提升了近3倍左右。

MPJ计算模型测试

  • 测试表格

    1.users(id,name,password): 数据总量1千万条记录;

    2.peoples(id,name,gender,address): 数据总量1千万条记录;

    3.permissions(userid,name)

  • 测试语句
    SELECT u.userid, p.name, q.name FROM users u
        JOIN peoples p ON u.userid = p.id
        JOIN permissions q ON p.id = q.userId;
    					
  • DAG有向无环图如下:

  • 执行结果
    1. 基于MapReduce运行

      MapReduce Jobs Launched:
      Stage-Stage-1: Map: 3  Reduce: 3   Cumulative CPU: 177.33 sec
      Total MapReduce CPU Time Spent: 2 minutes 57 seconds 330 msec
      OK
      Time taken: 104.208 seconds, Fetched: 5 row(s)
      3次执行分别用时:104.208、102.146、103.537。平均用时:103.297秒。
      							
    2. 基于TEZ运行
      --------------------------------------------------------------------------------
              VERTICES      STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
      --------------------------------------------------------------------------------
      Map 1 ..........   SUCCEEDED      5          5        0        0       0       0
      Map 3 ..........   SUCCEEDED      6          6        0        0       0       0
      Map 4 ..........   SUCCEEDED      1          1        0        0       0       0
      Reducer 2 ......   SUCCEEDED      2          2        0        0       0       0
      --------------------------------------------------------------------------------
      VERTICES: 04/04  [==========================>>] 100%  ELAPSED TIME: 47.50 s
      --------------------------------------------------------------------------------
      OK
      Time taken: 49.143 seconds, Fetched: 5 row(s)
      3次执行分别用时:49.143、47.284、48.578。平均用时:48.335秒。
      							

    时间效率上提升了2倍多。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-07 15:23:57

Hive-On-Tez性能测试的相关文章

hive on tez踩坑记2-hive0.14 on tez

在测试hive0.14.0 on tez时遇到的问题比较多:1.在使用cdh5.2.0+hive0.14.0+tez-0.5.0测试时,首先遇到下面的问题 java.lang.NoSuchMethodError: org.apache.tez.dag.api.client.Progress.getFailedTaskAttemptCount()I         at org.apache.hadoop.hive.ql.exec.tez.TezJobMonitor.printStatusInPl

hive on tez踩坑记1-hive0.13 on tez

最近集群准备升级到cdh5.2.0,并使用tez,在测试集群cdh5.2.0已经稳定运行了很长时间,因此开始折腾hive on tez了,期间遇到不少问题,这里记录下. hive on tez的部署比较简单,可以参考wiki.主要注意几个地方 1.编译的时候 mvn clean package -Dtar -DskipTests=true -Dmaven.javadoc.skip=true 2.需要将tez相关的包upload到hdfs中,并设置tez-site.xml   <property>

hive on tez配置

1.Tez简介 Tez是Hontonworks开源的支持DAG作业的计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升MapReduce作业的性能.Tez并不直接面向最终用户--事实上它允许开发者为最终用户构建性能更快.扩展性更好的应用程序 2.编译tez 本文记录Tez 0.8.5的编译过程,之前的Tez版本都是源码包,最新的版本虽然提供了编译后的tar包,但是大部分情况下是针对特定的Hadoop版本,如果和我们的Hadoop版本不一致,可能某个时刻会出现一些未知的问题,所以为了稳定

配置 Hive On Tez

配置 Hive On Tez 标签(空格分隔): hive Tez 部署底层应用 简单介绍 介绍:tez 是基于hive 之上,可以将sql翻译解析成DAG计算的引擎.基于DAG 与mr 架构本身的优缺点,tez 本身经过测试一般小任务在hive mr 的2-3倍速度左右,大任务7-10倍左右,根据情况不同可能不一样. 对于 Tez-0.9.0 以及更高版本, Tez 需要 Apache Hadoop 版本为 2.7.0 或更高 安装 Apache Hadoop 2.7.0 或更高版本,这里选取

hive on tez

hive运行模式 hive on mapreduce 离线计算(默认) hive on tez  YARN之上支持DAG作业的计算框架 hive on spark 内存计算 hive on tez Tez是一个构建于YARN之上的支持复杂的DAG任务的数据处理框架.它由Hontonworks开源,它把mapreduce的过程拆分成若干个子过程,同时可以把多个mapreduce任务组合成一个较大的DAG任务,减少了mapreduce之间的文件存储,同时合理组合其子过程从而大幅提升MapReduce

hive on tez 错误记录

1.执行过程失败,报 Container killed on request. Exit code is 143 如下图: 分析:造成这种原因是由于总内存不多,而容器在jvm中占比过高,修改tez-site.xml文件,添加如下配置: <property> <name>tez.container.max.java.heap.fraction</name> <value>0.2</value> #调低内存占比,默认是0.8(也就是80%) <

hive on tez sql 优化

select t.id end_usr_id, t.end_user_name end_usr_name, t.end_user_real_name end_usr_nknm, t.end_user_password end_usr_pswd, t.end_user_birthday end_usr_bthd, t.mobile mobl_num, t.phone phone_num, t.valid_mobile_phone_num bindg_mobl_num, t.end_user_ema

Hive 使用Tez引擎的配置

前提 Hive  需要是 2.0以上版本 Tez配置 下载好tar包后,将tar包上传到HDFS集群路径下 hadoop fs -put /opt/software/apache-tez-0.9.1-bin.tar.gz/ /tez 将Linux本机上的tar包解压 Hive配置 在hive/conf下新建tez-site.xml文件,并添加以下参数 <?xml version="1.0" encoding="UTF-8"?> <?xml-styl

Hive on Tez 出现的bug 及原因解析

现象描述 在使用Tez引擎查询时,发现一个bug: SELECT t1.*,t2.activity_id,t3.timeMap from (select * from ods_order_info where dt='2020-03-29') t1 --单独查询结果为7条 left join (select order_id,activity_id from ods_activity_order where dt='2020-03-29') t2 --t1 与t2 left join ,结果为7

记一发Hive on tez的配置(Hive 3.1.1, Hadoop 3.0.3, Tez 0.9.1)

直接下载Tez的binary包部署安装是有问题的,因为默认支持hadoop版本为2.7,2.7以上的就需要手动编译了. 下载Tez源码 CD到源码文件夹,mvn install -Dhadoop.version=3.0.3 -DskipTests -Dmaven.javadoc.skip=true 这里有个需要注意的地方,tez-ui的编译会很麻烦,因为伟大的墙.实在编译不过就跳过tez-ui模块吧--不影响其他部分的编译. 编译成功后,后面的步骤参考:https://blog.csdn.net