使用TPC-H 对hive进行基准测试
2018-03-02 19:33
671 查看
前言:由于实验的需要,需用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 基准测试了
系统环境介绍:
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 基准测试了
相关文章推荐
- JMH工具进行基准测试简单使用
- 使用TPC-H对Hive测试
- 使用TPC-H数据测试HIVE行存储及列存储的优劣
- 使用TPC-H对Hive测试
- [译]使用JMH进行微基准测试:不要猜,要测试!
- NodeJS中使用benchmark进行基准测试-@alsotang
- Hive的TPC-DS和TPC-H基准测试工具
- 使用sysbench进行cpu/IO/内存/OLTP等基准测试
- 使用sysbench进行cpu/IO/内存/OLTP等基准测试
- 使用JMeter进行性能测试(Java请求)
- 使用hadoop和hive来进行应用的日志数据分析
- 使用Espresso进行UI测试ClickView On Multiple Window
- 使用nose 进行Python项目的自动化测试
- [翻译]使用PHPUnit进行测试驱动开发
- 4000 Spring中用ApplicationContext进行测试的简单使用
- 如何进行iOS性能测试-------Instruments 使用教程
- 使用Maven进行测试
- 在使用Microsoft Visual Studio Test Controller 2010进行测试时,报如下错误: System.DllNotFoundException: 无法加载 DLL“Microsoft.VisualStudio.QualityTools.RecorderBarBHO100.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
- 使用loadrunner进行压力测试遇到的问题总结
- 使用python对网站进行测试(模拟用户行为)