TPC-H工具使用:生成数据及存储至数据库中

本文记录了如何在Linux环境下使用TPC-H工具2.17.3生成数据,创建PostgreSQL数据库,导入数据并为各表添加约束条件的过程。详细步骤包括修改TPC-H工具以支持PostgreSQL,运行dbgen生成.tbl文件,建立数据库,处理数据导入问题,以及生成查询语句。
摘要由CSDN通过智能技术生成

前言

在一次作业中需要用tpch(什么是tpch请自行google或百度)工具生成数据集做相应测试,故将整个配置过程和自己踩的坑做如下记录,望有助其他人节约时间。

环境

操作系统:Linux(Ubuntu16.04)
TPC-H工具:2.17.3
PostgreSQL版本:9.6.0
TPC-H工具下载网站:http://www.tpc.org/tpch/

一、生成dbgen和qgen

  1. 解压TPCH-tools工具在dbgen目录下找到并更改makefile.suite 生成dbgen
#makefile.suite 的更改参数如下

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

  1. 由于TPCH数据库参数没有PostgreSQL数据库选项,需要自己增加PG数据的脚本,在dbgen目录下更改tpcd.h文件
//修改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 /* VECTORWISE */


  1. 保存修改在终端中cd到dbgen目录下,执行下列命令
//保存更改,在dbgen目录下执行

make -f makefile.suite

//执行成功后在dbgen目录下生成dbgen和qgen文件



二、运行dbgen生成.tbl数据

#在dbgen目录下执行
./dbgen -s 1 -f   #-s 1 表示生成1G数据  -f覆盖之前产生的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值