更新时间:2024-10-22 GMT+08:00
TPC-H数据生成
- 从官网获取TPC-H工具。
- 登录ECS云服务器,执行如下命令创建TPC-H存放目录。
mkdir -p /data1/script/tpcds-kit/tpch1000X mkdir -p /data2/script/tpcds-kit/tpch1000X
- 将获取的TPC-H工具上传到ECS的/data1/script/tpch-kit目录执行以下命令解压。
“tpch_3.0.1.zip”替换为实际的软件包名。
cd /data1/script/tpch-kit && unzip tpch_v3.0.1.zip
- 执行如下命令编译生成数据构建工具dbgen。
编译之前需要修改dbgen目录下的两个文件:makefile.suite和tpcd.h
- 修改makefile.suite文件。
#makefile.suite的更改参数如下(103行-111行): 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 = POSTGRESQL #程序给定参数没有postgresql ,修改tpcd.h 添加POSTGRESQL脚本 MACHINE = LINUX WORKLOAD = TPCH
- 修改tpcd.h文件。
//在tpcd.h文件增加如下语句: #ifdef POSTGRESQL #define GEN_QUERY_PLAN "EXPLAIN" #define START_TRAN "BEGIN TRANSACTION" #define END_TRAN "COMMIT;" #define SET_OUTPUT "" #define SET_ROWCOUNT "LIMIT %d\n" #define SET_DBASE "" #endif /* POSTGRESQL */ $ cd TPC-H_Tools_v3.0.1/dbgen $ cp makefile.suite makefile $ make -f makefile $ cp -R /data1/script/tpch-kit/TPC-H_Tools_v3.0.1/ /data2/script/tpch-kit/
- 修改makefile.suite文件。
- 登录ECS,执行如下命令生成TPC-H 1000X数据,本示例分两个数据盘同步生成TPC-H 1000x数据。
TPC-H 1000X数据文件总大小约1100GB,请确认ECS的磁盘空间足够。
- 进入/data1/script/tpch-kit/TPC-H_Tools_v3.0.1/dbgen目录后,执行如下命令。
for c in {1..5};do (./dbgen -s 1000 -C 10 -S ${c} -f > /dev/null 2>&1 &);done
- 进入/data2/script/tpch-kit/ TPC-H_Tools_v3.0.1/dbgen目录后,执行如下命令。
for c in {6..10};do (./dbgen -s 1000 -C 10 -S ${c} -f > /dev/null 2>&1 &);done
其中:
- -s 指定数据规模,本例为1000。
- -C 指定分成几个chunk,本例为10。
- -S 指定当前是第几个chunk,此处不需修改。
- 进入/data1/script/tpch-kit/TPC-H_Tools_v3.0.1/dbgen目录后,执行如下命令。
- 执行以下命令,判断数据文件的生成进度。也可以通过ps ux|grep dbgen,查看生成数据文件的进程是否退出。
du -sh /data1/script/tpch-kit/TPC-H_Tools_v3.0.1/dbgen/*.tbl* du -sh /data2/script/tpch-kit/TPC-H_Tools_v3.0.1/dbgen/*.tbl*
- 将TPC-H 1000X数据转移至指定目录。
mv /data1/script/tpch-kit/TPC-H_Tools_v3.0.1/dbgen/*.tbl* /data1/script/tpch-kit/tpch1000X mv /data2/script/tpch-kit/TPC-H_Tools_v3.0.1/dbgen/*.tbl* /data2/script/tpch-kit/tpch1000X
父主题: TPC-H测试过程