0 下载 TPC-H Tools
1 修改 Makefile
解压tpch文件,进入dbgen目录。
cp makefile.suite makefile
打开 makefile,找到并修改下面这几行(103~111 行)
################
## CHANGE NAME OF ANSI COMPILER HERE
################
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= SQLSERVER
MACHINE = LINUX
WORKLOAD = TPCH
2编译
make
因为我的电脑是 Mac,编译 dbgen 的时候报错:
bm_utils.c:71:10: fatal error: 'malloc.h' file not found
#include <malloc.h>
^~~~~~~~~~
1 error generated.
make: *** [bm_utils.o] Error 1 # varsub.o
将报错的文件中:
#include <malloc.h>
修改为
#include <sys/malloc.h>
Done.
3 生成数据
./dbgen -s 1 -f
将 .tbl 数据转换为 csv:
for i in `ls *.tbl`; do sed 's/|$//' $i > ${i/tbl/csv}; echo $i; done;
4 生成 query 数据
运行 qgen -d
生成如下结果,为报错信息:
Open failed for ./1.sql at qgen.c:170
需要设置环境变量:export DSS_QUERY=PATH_TO_QUERIES_FOLDER
一般来说,输入export DSS_QUERY=queries
即可
Mac 没有 vmstat,要将 tpch.sh 中的 vmstat 改为 vm_stat