1.数据集下载

TPC-H数据集: https://github.com/gregrahn/tpch-kit

2.解压安装

unzip  tpch-kit-master.zip

cd tpch-kit-master/dbgen/

make  -f  Makefile

通过上面命令,生成两个文件,分别是dbgen、qgen。分别用于产生数据和查询。

3.生成数据

##进入dbgen目录

cd tpch-kit-master/dbgen/

##生成8个tbl文件,生成以后修改八个文件的可执行权限,将这八个tbl文件放入创建好的文件目录tbl下(注意1表示1G数据量,0.1表示100M数据量)。

./dbgen  -s 1 -fchmod 777 tbl/*.tbl

或者单独生成每个表的数据(生成数据文件目前只能在dbgen目录中)

./dbgen -vf -s 0.01 -T r | tee -a region.tbl

./dbgen -vf -s 0.01 -T n | tee -a nation.tbl

./dbgen -vf -s 0.01 -T c | tee -a customer.tbl

./dbgen -vf -s 0.01 -T L | tee -a lineitem.tbl

./dbgen -vf -s 0.01 -T O | tee -a orders.tbl

./dbgen -vf -s 0.01 -T P | tee -a part.tbl

./dbgen -vf -s 0.01 -T S | tee -a partsupp.tbl

./dbgen -vf -s 0.01 -T s | tee -a supplier.tbl

##将生成的数据转移到/data/tpchdata

mv *.tbl  /data/tpchdata  ;

4.创建数据库和表

su - postgres

##连接数据库
psql  -h  192.168.80.131  -U postgres

##创建数据

create  database  tpch

##进入数据库

\c  tpch

##创建表 (建表语句在dbgen下面的dss.ddl)

CREATE TABLE NATION  (

N_NATIONKEY  INTEGER NOT NULL,

N_NAME       CHAR(25) NOT NULL,

N_REGIONKEY  INTEGER NOT NULL,

N_COMMENT    VARCHAR(152));

CREATE TABLE REGION  (

R_REGIONKEY  INTEGER NOT NULL,

R_NAME       CHAR(25) NOT NULL,

R_COMMENT    VARCHAR(152));

CREATE TABLE PART  (

P_PARTKEY     INTEGER NOT NULL,

P_NAME        VARCHAR(55) NOT NULL,

P_MFGR        CHAR(25) NOT NULL,

P_BRAND       CHAR(10) NOT NULL,

P_TYPE        VARCHAR(25) NOT NULL,

P_SIZE        INTEGER NOT NULL,

P_CONTAINER   CHAR(10) NOT NULL,

P_RETAILPRICE DECIMAL(15,2) NOT NULL,

P_COMMENT     VARCHAR(23) NOT NULL );

CREATE TABLE SUPPLIER (

S_SUPPKEY     INTEGER NOT NULL,

S_NAME        CHAR(25) NOT NULL,

S_ADDRESS     VARCHAR(40) NOT NULL,

S_NATIONKEY   INTEGER NOT NULL,

S_PHONE       CHAR(15) NOT NULL,

S_ACCTBAL     DECIMAL(15,2) NOT NULL,

S_COMMENT     VARCHAR(101) NOT NULL);

CREATE TABLE PARTSUPP (

PS_PARTKEY     INTEGER NOT NULL,

PS_SUPPKEY     INTEGER NOT NULL,

PS_AVAILQTY    INTEGER NOT NULL,

PS_SUPPLYCOST  DECIMAL(15,2)  NOT NULL,

PS_COMMENT     VARCHAR(199) NOT NULL );

CREATE TABLE CUSTOMER (

C_CUSTKEY     INTEGER NOT NULL,

C_NAME        VARCHAR(25) NOT NULL,

C_ADDRESS     VARCHAR(40) NOT NULL,

C_NATIONKEY   INTEGER NOT NULL,

C_PHONE       CHAR(15) NOT NULL,

C_ACCTBAL     DECIMAL(15,2)   NOT NULL,

C_MKTSEGMENT  CHAR(10) NOT NULL,

C_COMMENT     VARCHAR(117) NOT NULL);

CREATE TABLE ORDERS  (

O_ORDERKEY       INTEGER NOT NULL,

O_CUSTKEY        INTEGER NOT NULL,

O_ORDERSTATUS    CHAR(1) NOT NULL,

O_TOTALPRICE     DECIMAL(15,2) NOT NULL,

O_ORDERDATE      DATE NOT NULL,

O_ORDERPRIORITY  CHAR(15) NOT NULL,

O_CLERK          CHAR(15) NOT NULL,

O_SHIPPRIORITY   INTEGER NOT NULL,

O_COMMENT        VARCHAR(79) NOT NULL);

CREATE TABLE LINEITEM (

L_ORDERKEY    INTEGER NOT NULL,

L_PARTKEY     INTEGER NOT NULL,

L_SUPPKEY     INTEGER NOT NULL,

L_LINENUMBER  INTEGER NOT NULL,

L_QUANTITY    DECIMAL(15,2) NOT NULL,

L_EXTENDEDPRICE  DECIMAL(15,2) NOT NULL,

L_DISCOUNT    DECIMAL(15,2) NOT NULL,

L_TAX         DECIMAL(15,2) NOT NULL,

L_RETURNFLAG  CHAR(1) NOT NULL,

L_LINESTATUS  CHAR(1) NOT NULL,

L_SHIPDATE    DATE NOT NULL,

L_COMMITDATE  DATE NOT NULL,

L_RECEIPTDATE DATE NOT NULL,

L_SHIPINSTRUCT CHAR(25) NOT NULL,

L_SHIPMODE     CHAR(10) NOT NULL,

L_COMMENT      VARCHAR(44) NOT NULL);

5.导入数据

COPY region FROM '/data/tpchdata/region.tbl' DELIMITER '|' CSV HEADER;

COPY nation FROM '/data/tpchdata/nation.tbl' DELIMITER '|' CSV HEADER;

COPY customer FROM '/data/tpchdata/customer.tbl' DELIMITER '|' CSV HEADER;

COPY lineitem FROM '/data/tpchdata/lineitem.tbl' DELIMITER '|' CSV HEADER;

COPY orders FROM '/data/tpchdata/orders.tbl' DELIMITER '|' CSV HEADER;

COPY part FROM '/data/tpchdata/part.tbl' DELIMITER '|' CSV HEADER;

COPY partsupp FROM '/data/tpchdata/partsupp.tbl' DELIMITER '|' CSV HEADER;

COPY supplier FROM '/data/tpchdata/supplier.tbl' DELIMITER '|' CSV HEADER;

TPCH-PostgreSQL生成数据集并导入数据表的更多相关文章

  1. sqlloader导出数据和导入数据

    分类: Oracle 忙了一天终于把sqlloader导出数据和导入数据弄清楚了,累死俺了... 这个总结主要分为三个大部分,第一部分(实例,主要分两步),第二部分(参数小总结),第三部分(完全参数总 ...

  2. oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 本文出自[我是干勾鱼的博客] oracle中使用impdp数据泵导 ...

  3. 问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死

    Sun shine  16:15:55 帅哥  我有个手机表 大约有700百数据,,每天新增 大约五万,并且新也有update 大约10万  然后 我每晚 把当天的数据select 导入一个新表中的时 ...

  4. Hive创建表|数据的导入|数据导出的几种方式

    * Hive创建表的三种方式 1.使用create命令创建一个新表 例如:create table if not exists db_web_data.track_log(字段) partitione ...

  5. oracle 导出数据和导入数据

    导出数据 exp zl_gj/zlkj@gqxt  grants=y tables=(zl_gj.ckgj,zl_gj.gjlx,zl_gj.rkgj) file=c:\gj.dmp log=c:\g ...

  6. SQL Server 2008 导出数据与导入数据任务介绍

    一. 实例数据库介绍 源数据库Test_Other_DB:存在tb_Class,tb_Student,tb_TestTable三张表. 目标数据库TestDB_Output:空库,不含任何表. 二. ...

  7. 将Excel中的数据批量导入数据库表

    private boolean import_to_database(String excel_path) throws BiffException, IOException, HsException ...

  8. oracle数据库cmd导出数据和导入数据

    一:前言 每次我自己来导出oracle数据的数据进行备份的时候都是要看一遍记载的语句,还别说自己敲多了,也熟练了,但是还是不是很放心,所以就记载下来吧. 二:内容 (1).最简单,最直接的导入方式(这 ...

  9. layui数据表格导入数据

    作为一个后端程序员,前端做的确实很丑,所以就学习了一下layui框架的使用.数据表格主要的问题就是传输数据的问题,这里我用我的前后端代码来做一个实际的分解. 前端部分 可以到layui官网示例中找到数 ...

  10. 使用struct模块从定宽数据文件导入数据

随机推荐

  1. google浏览器网页截取全屏

    本想在谷歌浏览器滚动截取网页全屏,没有找到好的方法,在网上找到一个快捷键,未曾使用过,特地记录下: 第一步:按F12打开 第二步:window:Ctrl + Shift + P mac:command ...

  2. 基于java+springboot的求职招聘网站-求职招聘管理系统

    该系统是基于java+springboot开发的求职招聘网站.网上招聘管理系统.网上人才招聘系统.毕业生求职招聘系统.大学生求职招聘系统.校园招聘系统.企业招聘系统.是给师弟开发的毕业设计.大家学习过 ...

  3. Clock Domain Crossing

    Clock Domain Crossing CDC问题主要有亚稳态问题,多比特信号同步,握手信号同步,异步Fifo等 Topics Describe the SoC Design Issues Und ...

  4. Oracle数据类型的简单学习之一

    Oracle数据类型的简单学习之一 背景 因为信创安可替代的发展 有很多项目提到了数据库切换到国产数据库的要求. 一般情况是要求从Oracle/SQLServer 迁移到国产的: 达梦/瀚高/人大金仓 ...

  5. GB18030-2022 标准学习

    GB18030-2022 标准学习 下载 https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=A1931A578FE14957104988029B08 ...

  6. [转帖]tidb Modify Configuration Dynamically

    https://docs.pingcap.com/tidb/v6.5/dynamic-config This document describes how to dynamically modify ...

  7. [转帖]缓存与存储的一致性策略:从 CPU 到分布式系统

    https://zhuanlan.zhihu.com/p/151745863 在计算机系统设计实践中,我们常常会遇到下图所示架构: 为了解决单个存储器读吞吐无法满足要求的问题,常常需要在存储器上面增加 ...

  8. [转帖]kill 参数表

    https://www.cnblogs.com/alix-1988/p/14331898.html kill命令格式:kill -Signal pidpid是进程号,可以用 ps 命令查出 signa ...

  9. 内网CentOS7搭建ntp服务器实现内网时间同步

    内网CentOS7搭建ntp服务器实现内网时间同步 背景 公司内部有很多虚拟机,本来很简单的实现了每天晚上自动同步阿里云时间 crontab -e 1 1 * * * ntpdate ntp.aliy ...

  10. Docker 部署 Ceph的简单方法

    https://zhuanlan.zhihu.com/p/390377674 学习一下. docker部署 部署的思路和网络架构和前面分布式是一样的,区别在于命令的形式. 在每个节点安装 docker ...