1.下载TPCH生成工具
官方网址:http://www.tpc.org/tpc_documents_current_versions/current_specifications.asp
本文中安装的是:
TPC-H 2.17.3
2.安装TPCH生成工具
下载完成后,解压
3.生成指定的数据库文件
(1) 创建makefile文件并编辑具体参数
[pcc@localhost 2.17.3]$ cd ./dbgen/
[pcc@localhost dbgen]$ cp makefile.suite makefile
[pcc@localhost dbgen]$ vim makefile
将其内容修改为如下图所示
CC = gcc
DATABASE = DB2
MACHINE = LINUX
WORKLOAD = TPCH
(2) 执行make
[pcc@localhost dbgen]$ make
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o build.o build.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o driver.o driver.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o bm_utils.o bm_utils.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o rnd.o rnd.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o print.o print.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o load_stub.o load_stub.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o bcd2.o bcd2.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o speed_seed.o speed_seed.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o text.o text.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o permute.o permute.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o rng64.o rng64.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -O -o dbgen build.o driver.o bm_utils.o rnd.o print.o load_stub.o bcd2.o speed_seed.o text.o permute.o rng64.o -lm
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o qgen.o qgen.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o varsub.o varsub.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DDB2 -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -O -o qgen build.o bm_utils.o qgen.o rnd.o varsub.o text.o bcd2.o permute.o speed_seed.o rng64.o -lm
(3) 生成指定大小的数据
[pcc@localhost dbgen]$ ./dbgen -s 5
TPC-H Population Generator (Version 2.17.3)
Copyright Transaction Processing Performance Council 1994 - 2010
[pcc@localhost dbgen]$ ls -alh | grep
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
[pcc@localhost dbgen]$ ls -alh | grep tbl
-rw-rw-r--. 1 pcc pcc 117M Jan 3 11:04 customer.tbl
-rw-rw-r--. 1 pcc pcc 3.6G Jan 3 11:04 lineitem.tbl
-rw-rw-r--. 1 pcc pcc 2.2K Jan 3 11:04 nation.tbl
-rw-rw-r--. 1 pcc pcc 830M Jan 3 11:04 orders.tbl
-rw-rw-r--. 1 pcc pcc 573M Jan 3 11:04 partsupp.tbl
-rw-rw-r--. 1 pcc pcc 116M Jan 3 11:04 part.tbl
-rw-rw-r--. 1 pcc pcc 389 Jan 3 11:04 region.tbl
-rw-rw-r--. 1 pcc pcc 6.8M Jan 3 11:04 supplier.tbl
生成结束后,就能在dbgen文件夹下面看到生成的数据集了。生成5GB的数据时,orders表大小为870.2MB,lineitem表大小为3.9GB