使用TPC-H 对hive进行基准测试

前言:由于实验的需要,需用TPC-H 对hive进行基准测试,过程记录如下

 

系统环境介绍:

    centos7.4.1708

    hadoop2.8.3 一个NameNode 四个DataNode

    hive       1.2.2

    mysql  5.7.20

    TPC-H  2.17.3

 

A:安装配置

a.  下载TPC-H源码tpch_2_17_3.zip,用来生成测试数据

网址如下(需要填写自己的相关信息之后会收到邮件给你发下载地址):

http://www.tpc.org/tpc_documents_current_versions/download_programs/tools-download-request.asp?bm_type=TPC-H&bm_vers=2.17.3&mode=CURRENT-ONLY

 

b.  将TPC-H压缩包解压,本文中解压目录为:/opt/

    命令:unzip tpch_2_17_3.zip -C /opt/

 

c.  进入tpch目录下的dbgen子目录下,将makefile.suite文件拷贝为makefile,并对makefile进行修改

    cpmakefile.suite makefile

    vimakefile

在makefile文件中的相应行进行如下修改(hive 部署的时候集成的是mysql):

CC     = gcc

# Current values for DATABASE are:INFORMIX, DB2, TDAT (Teradata)

#                                  SQLSERVER,SYBASE, ORACLE, VECTORWISE

# Current values for MACHINE are:  ATT, DOS, HP, IBM, ICL, MVS,

#                                  SGI, SUN, U2200, VMS, LINUX, WIN32

# Current values for WORKLOAD are:  TPCH

DATABASE = MYSQL

MACHINE = LINUX

WORKLOAD = TPCH

DATABASE设为MYSQL(注意注释里写的提供的数据库格式没有mysql,所以要自己写一个格式)

 

d.  修改dbgen文件夹下的tpcd.h文件#ifdef MYSQL

#defineGEN_QUERY_PLAN  ""

#defineSTART_TRAN      "STARTTRANSACTION"

#defineEND_TRAN        "COMMIT"

#defineSET_OUTPUT      ""

#defineSET_ROWCOUNT    "limit %d;\n"

#defineSET_DBASE       "use %s;\n"

#endif

 

e.  在目录/opt/TPCH2.17.3/dbgen下执行makefile

[hadoop@dn1 dbgen]$ make

 

f.  生成需要用的数据

     [hadoop@dn1 dbgen]$ ./dbgen -s 1

    说明:-s 代表数据规模因子,1 代表产生1G的数据量

    在当前文件夹下生成的8个.tbl文件就是我们所需要的数据。

 

B: 测试

    在hive上建8个表

   下载最新的TPC-H_on_Hive命令包

   网址:https://issues.apache.org/jira/secure/attachment/12416615/TPC-H_on_Hive_2009-08-14.tar.gz

   解压后,将之前生成的8个表(在/opt/TPCH2.17.3/dbgen目录下)( 即.tbl文件) 复制或者放在/opt/TPC-H_on_Hive/data目录下

[hadoop@dn1/]$ cp /opt/TPCH2.17.3/dbgen/*.tbl  /opt/TPCH_on_Hive/data/

先对tpch目录下的命令试着执行一下自动生成hive 表

在目录/opt/TPC-H_on_Hive下新建一个脚本并执行,内容如下:

 

#!/bin/bash

for var in `ls /opt/TPC-H_on_Hive/tpch`

do

       echo hive -f /opt/TPC-H_on_Hive/tpch/${var}

       echo

       hive -f /opt/TPC-H_on_Hive/tpch/${var}

       echo

       echo

done

 

hive 中表建好以后开始导入数据,命令如下(要导入八个表中):

hive> LOAD DATA LOCAL INPATH'/opt/TPC-H_on_Hive/data/customer.tbl' INTO TABLE customer;

 

导入完数据以后,就可以真正的跑一遍脚本进行TPC-H 基准测试了

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值