更新时间:2024-08-20 GMT+08:00
TPC-H数据构建
- 从官网获取TPC-H工具。
- 登录ECS云服务器,执行如下命令创建TPC-H存放目录。
1 2
mkdir -p /data1/script/tpch-kit/tpch1000X mkdir -p /data2/script/tpch-kit/tpch1000X
- 将获取的TPC-H工具通过SFTP工具上传到ECS的/data1/script/tpch-kit目录执行以下命令解压。
1
cd /data1/script/tpch-kit && unzip tpch_v3.0.0.zip
- 执行如下命令编译生成数据构建工具dbgen。
编译之前需要修改dbgen目录下的两个文件:makefile.suite和tpcd.h
- 修改makefile.suite
1 2 3 4 5 6 7 8 9 10 11 12
#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
1 2 3 4 5 6 7 8 9
//在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 */
1 2 3 4
cd TPC-H_Tools_v3.0.0/dbgen cp makefile.suite makefile make -f makefile cp -R /data1/script/tpch-kit/TPC-H_Tools_v3.0.0/ /data2/script/tpch-kit/
- 修改makefile.suite
- 登录ECS,执行如下命令生成tpch 1000X数据,本示例分两个数据盘同步生成tpch 1000x数据。
Tpch 1000X数据文件总大小约1100GB,请确认ECS的磁盘空间足够。
- 进入/data1/script/tpch-kit/TPC-H_Tools_v3.0.0/dbgen目录后,执行如下命令:
1
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.0/dbgen目录后,执行如下命令:
1
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.0/dbgen目录后,执行如下命令:
- 执行以下命令,判断数据文件的生成进度。也可以通过ps ux|grep dbgen,查看生成数据文件的进程是否退出。
1 2
du -sh /data1/script/tpch-kit/TPC-H_Tools_v3.0.0/dbgen/*.tbl* du -sh /data2/script/tpch-kit/TPC-H_Tools_v3.0.0/dbgen/*.tbl*
- 将Tpch 1000X数据转移至指定目录。
1 2
mv /data1/script/tpch-kit/TPC-H_Tools_v3.0.0/dbgen/*.tbl* /data1/script/tpch-kit/tpch1000X mv /data2/script/tpch-kit/TPC-H_Tools_v3.0.0/dbgen/*.tbl* /data2/script/tpch-kit/tpch1000X
父主题: 构建TPC-H&TPC-DS使用数据