samuschen 发表于 2013-1-13 18:24:02

TPC-H on Hive

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;
 
页: [1]
查看完整版本: TPC-H on Hive