1)下载TPC-H的代码,用来生成所需要的数据
http://www.tpc.org/tpch/spec/tpch_2_8_0.zip 或者
http://www.tpc.org/tpch/default.asp 右边栏
两版本略有不同
4)然后在tpch文件目录下,把makefile复制并改名成makefile,接着修改makefile文件
shell> cp makefile.suite makefile
shell> vim makefile
makefile中相应项后面填写:
CC = gcc
# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)
# SQLSERVER, SYBASE
# 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
5)修改tpch.h文件
修改其中的SQLSERVER段为:
#ifdef SQLSERVER
#define GEN_QUERY_PLAN "EXPLAIN;"
#define START_TRAN "START TRANSACTION;\n"
#define END_TRAN "COMMIT;\n"
#define SET_OUTPUT ""
#define SET_ROWCOUNT "limit %d;\n"
#define SET_DBASE "use %s;\n"
#endif
6)执行makefile
shell> make
7)生成需要用的数据
shell> ./dbgen -s 1
-s 数据规模因子,1为1G的数据量
8)在hive上建好八个表(这里有自带的脚本tpc-h/dss.ddl,将其按照hive的语法修改到dss.ddl.hive脚本)
运行 hive -f /home/cq/tpc-h/dss.ddl.hive
建好8个表
9)将生成的数据导入表中
hive>LOAD DATA LOCAL INPATH '/home/cq/tpc-h/data/supplier.tbl' INTO TABLE supplier ;
10)执行查询
hive -f q1.sql;