暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hive使用TPC-H性能测试方案

原创 DonACE 2021-06-15
2939

一、测试环境
4节点
node1.don.com 192.168.8.32
node2.don.com 192.168.8.25
node3.don.com 192.168.8.26
node4.don.com 192.168.8.15
服务器配置
CPU:ntel Xeon Processor (Skylake, IBRS)
内存:32G
磁盘:sda 600G sdb 1.2T

hadoop3.1
hive3.1.2

二、测试工具
TPC-H_Tools_v2.18.0.zip --用来生成测试数据
TPC-H_on_Hive_2009-08-14.tar.gz --用来自动化执行测试脚本

测试工具连接地址
http://tpc.org/tpc_documents_current_versions/current_specifications5.asp
https://issues.apache.org/jira/secure/attachment/12416615/TPC-H_on_Hive_2009-08-14.tar.gz

三、测试方法
上传文件到指定目录减压
上传TPC-H_Tools_v2.18.0.zip和TPC-H_on_Hive_2009-08-14.tar.gz工具到服务器/home/hdfs目录

解压
unzip TPC-H_Tools_v2.18.0.zip mv 2.18.0_rc2 tpch-hive
tar -xzvf TPC-H_on_Hive_2009-08-14.tar.gz -C /home/hdfs/
mv TPC-H_on_Hive autotpchonhive

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

cp makefile.suite makefile

vim makefile

在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,所以要自己写一个格式)
修改dbgen文件夹下的tpcd.h文件添加

#ifdef MYSQL
#define GEN_QUERY_PLAN “”
#define START_TRAN “STARTTRANSACTION”
#define END_TRAN “COMMIT”
#define SET_OUTPUT “”
#define SET_ROWCOUNT “limit %d;\n”
#define SET_DBASE “use %s;\n”
#endif

编译
在目录/home/hdfs/tpch-hive/dbgen下执行makefile
[root@node1 dbgen]$ make
生成需要用的数据
     [root@node1 dbgen]# ./dbgen -s 100
    说明:-s 代表数据规模因子,1 代表产生1G的数据量
在当前文件夹下生成的8个.tbl文件就是我们所需要的数据。
测试
将之前生成的8个表(在/home/hdfs/tpch-hive/dbge目录下)( 即.tbl文件) 复制或者放在/home/hdfs/autotpchonhive/data目录下
进入/home/hdfs/autotpchonhive/data目录
cp /home/hdfs/tpch-hive/dbge/*.tbl  /home/hdfs/autotpchonhive/data
执行data目录下脚本把生成的数据文件上传到hdfs目录(脚本内容自己查看)
./tpch_prepare_data.sh
在目录/home/hdfs/autotpchonhive下新建一个脚本并执行,内容如下:
修改配置文件benchmark.conf
TPC-H的22查询sql在tpch目录下 通过tpch_benchmark.sh脚本调用来进行性能测试
执行tpc-h查询脚本
./tpch_benchmark.sh

也可以自己写脚本去调用
#!/bin/bash
for var in ls /opt/TPC-H_on_Hive/tpch
do
echo hive -f /home/hdfs/autotpchonhive/tpch/varechohivef/home/hdfs/autotpchonhive/tpch/{var} echo hive -f /home/hdfs/autotpchonhive/tpch/{var}
echo
echo
done

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • 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