zoukankan      html  css  js  c++  java
  • 生成TPC-H数据集

    下载tpc-h tool 版本有点老,2.14.3,够用了。

    在解压的文件夹下面cd到dbgen下,找到makefile.suite。

    ~/tpch_2_14_3$ cd dbgen
    ~/tpch_2_14_3/dbgen$ vim 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 = MYSQL
    MACHINE = LINUX
    WORKLOAD = TPCH

    ---------------------------------

    • 设定C语言编译器为gcc(如果你用的是其他的编译器就改成其他对应名字)
    • DATABASE设为MYSQL(注意注释里写的提供的数据库格式没有mysql,所以等一下要自己写一个格式,见步骤3)
    • MACHINE = LINUX 和 WORKLOAD = TPCH 就不用说啥意思了……

    改好之后保存为makefile,这样才好用make命令。

    修改tpcd.h

    #ifdef MYSQL
    #define GEN_QUERY_PLAN  ""
    #define START_TRAN      "START TRANSACTION"
    #define END_TRAN        "COMMIT"
    #define SET_OUTPUT      ""
    #define SET_ROWCOUNT    "limit %d;
    "
    #define SET_DBASE       "use %s;
    "
    #endif

    开始构建
    ~/tpch_2_14_3/dbgen$ make

    生成tbl数据文件

    接下来要用dbgen生成数据,一共会生成8个表(.tbl)。

    查看README里面有命令行参数解说,这里我们在dbgen目录下用

    ./dbgen -s 1
    

    -s 1 表示生成1G的数据 (如果你之前曾经尝试过生成数据,最好先make clean,再重新make,接着到这步加上-f覆盖掉)

    生成之后可以用head命令检查一下tbl们,会看到每一行都有一些用“|”隔开的字段。

    压缩包里自带两个脚本:

    • dss.ddl:用来建表
    • dss.ri:关联表中primary key和foreign key。
  • 相关阅读:
    [POI2014]KUR-Couriers
    [题解向] Luogu4092 [HEOI2016/TJOI2016]树
    [探究] OI中各种初级数论算法相关
    [SCOI2005]骑士精神
    [intoj#7]最短距离
    数列分块入门
    动态规划问题基础
    Luogu P1967 货车运输
    Luogu P3379 【模板】最近公共祖先(LCA)
    Luogu P3378 【模板】堆
  • 原文地址:https://www.cnblogs.com/lavezhang/p/9819909.html
Copyright © 2011-2022 走看看