【openGauss2.1.0 TPC-H数据导入】

这篇具有很好参考价值的文章主要介绍了【openGauss2.1.0 TPC-H数据导入】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、下载tpch测试数据

  1. 使用普通用户如omm登录服务器
  2. 执行如下命令下载测试数据库:
    git clone https://gitee.com/xzp-blog/tpch-kit.git
    

二、导入测试数据

  1. 进入dbgen目录下,生成makefile文件:
    cd /opt/software/tpch-kit/dbgen/
    make -f Makefile
    
  2. 连接openGauss数据库,创建tpch的database:
    gsql -d postgres -p 5432 -r
    openGauss=# CREATE DATABASE tpch; 
    openGauss=# \q
    
  3. 创建对象8张测试表,执行如下命令:
    cd /opt/software/tpch-kit/dbgen
    gsql -d tpch -f dss.ddl
    
    执行完成后,登录数据库查看,会看到如下8张表:
    					List of relations
     Schema |   Name   | Type  | Owner |             Storage
    --------+----------+-------+-------+----------------------------------
     public | customer | table | omm   | {orientation=row,compression=no}
     public | lineitem | table | omm   | {orientation=row,compression=no}
     public | nation   | table | omm   | {orientation=row,compression=no}
     public | orders   | table | omm   | {orientation=row,compression=no}
     public | part     | table | omm   | {orientation=row,compression=no}
     public | partsupp | table | omm   | {orientation=row,compression=no}
     public | region   | table | omm   | {orientation=row,compression=no}
     public | supplier | table | omm   | {orientation=row,compression=no}
    
  4. 生成8张表测试数据,执行如下命令:
    cd /opt/software/tpch-kit/dbgen
    ./dbgen -vf -s 1
    
    执行结果如下:
    [omm@opengauss01 dbgen]$ ./dbgen -vf -s 1
    TPC-H Population Generator (Version 2.17.3)
    Copyright Transaction Processing Performance Council 1994 - 2010
    Generating data for suppliers table/
    Preloading text ... 100%
    done.
    Generating data for customers tabledone.
    Generating data for orders/lineitem tablesdone.
    Generating data for part/partsupplier tablesdone.
    Generating data for nation tabledone.
    Generating data for region tabledone.
    
  5. 编写导入数据脚本LoadData.sh:
    for i in `ls *.tbl`; do
      table=${i/.tbl/}
      echo "Loading $table..."
      sed 's/|$//' $i > /tmp/$i
      gsql tpch -q -c "TRUNCATE $table"
      gsql tpch -c "\\copy $table FROM '/tmp/$i' CSV DELIMITER '|'"
    done
    
    授予执行权限:
    [omm@opengauss01 dbgen]$ chmod +x LoadData.sh
    
  6. 导入数据到8张表中,执行导入脚本LoadData.sh:
    [omm@opengauss01 dbgen]$ sh LoadData.sh
    
    执行结果如下:
    Loading customer...
    Loading lineitem...
    Loading nation...
    Loading orders...
    Loading partsupp...
    Loading part...
    Loading region...
    Loading supplier...
    
  7. 检验数据是否已完成导入:
    gsql -d tpch -p 5432 -r
    tpch=# select count(*) from supplier;
    
    查看了supplier表的总记录数为:10000条。
    感兴趣可以全部查看8张表各自的总记录数,如下所示:
    tpch=# select count(*) from supplier;
     count
    -------
     10000
    (1 row)
    
    tpch=# select count(*) from lineitem;
      count
    ---------
     6001215
    (1 row)
    
    tpch=# select count(*) from nation;
     count
    -------
        25
    (1 row)
    
    tpch=# select count(*) from orders;
      count
    ---------
     1500000
    (1 row)
    
    tpch=# select count(*) from part;
     count
    --------
     200000
    (1 row)
    
    tpch=# select count(*) from partsupp;
     count
    --------
     800000
    (1 row)
    
    tpch=# select count(*) from region;
     count
    -------
         5
    (1 row)
    
    tpch=#
    
    
    至此,已完后TPCH测试数据的导入工作。
  8. 生成相关查询语句,为避免对原有查询语句脚本产生污染,将其复制到queries目录下:
    cd /opt/software/tpch-kit/dbgen
    cp dists.dss queries/
    cp qgen queries/
    cd queries/
    
  9. 编写生成查询语句脚本genda.sh,内容如下:
    cd /opt/software/tpch-kit/dbgen/queries
    vim genda.sh
    
    添加如下内容:
    for i in {1..22}; do
        ./qgen -d $i>$i_new.sql
     ./qgen -d $i_new | sed 's/limit -1//' | sed 's/limit 100//' | sed 's/limit 10//' | sed 's/limit 20//' | sed 's/day (3)/day/' > queries.sql
    done
    
  10. 执行脚本genda.sh:
    cd /opt/software/tpch-kit/dbgen
    sh genda.sh
    
  11. 验证生成的查询语句:
    cd /opt/software/tpch-kit/dbgen/queries
    ls -l queries.sql
    
    结果如下:
    [omm@opengauss01 queries]$ ls -l queries.sql
    -rw-r--r-- 1 omm dbgrp  12K Aug 29 23:49 queries.sql
    
    感兴趣可以查看下queries.sql内容,看下生成了哪些SQL语句
    至此,已完成了查询语句的生成。

文章来源地址https://www.toymoban.com/news/detail-768862.html

到了这里,关于【openGauss2.1.0 TPC-H数据导入】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用EasyExcel实现模板下载、数据导入功能

    1.在你的工程下添加模板文件 2.编写代码实现下载功能 controller serviceImpl 好了,到这里,一个简单的下载模板功能就实现了。不过我在项目运行中遇到了一些坑,下面记录一下。 3.项目中遇到的坑:excel文件在springboot的maven项目下打了jar包后损坏 4.解决办法:试了很多种,主要

    2024年02月13日
    浏览(53)
  • OpenGauss数据库 - 初识OpenGauss

    第1关:创建数据库  编程要求 在右侧命令行中连接 openGauss,并创建一个名为 mydb 的数据库。 连接数据库的用户名为:gaussdb,密码为:passwd123@123。 代码: 第2关:创建表 编程要求 在右侧命令行中操作,创建数据库 testdb,在 testdb 下创建表 t_emp,表结构如下: id INT,name VAR

    2024年02月09日
    浏览(49)
  • 【openGauss数据库】---设置开机自启动openGauss数据库服务

    👈【上一篇】 💖The Begin💖 点点关注,收藏不迷路💖 【下一篇】👉 在统信uos-server-20-1060e操作系统上设置 openGauss 开机自启动 ,自定义服务的配置文件组成部分, 共分为[Unit]、[Service]、[Install]三个部分 。 🍀 2.1、进入系统目录 /usr/lib/systemd/system/ ---------》存放启动文件的

    2024年02月11日
    浏览(56)
  • openGauss学习笔记-09 openGauss 简单数据管理-创建数据库

    数据库安装完成后,默认生成名称为postgres的数据库。您需要自己创建一个新的数据库。 9.1 语法格式 创建数据库 查看数据库 使用“l”用于查看已经存在的数据库。 使用 “c + 数据库名” 进入已存在数据库。 修改数据库 删除数据库 9.2 参数说明 database_name 要创建、修改或

    2024年02月16日
    浏览(59)
  • openGauss学习笔记-47 openGauss 高级数据管理-权限

    数据库对象创建后,进行对象创建的用户就是该对象的所有者。数据库安装后的默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过 GRANT 将对象的权

    2024年02月11日
    浏览(51)
  • openGauss学习笔记-33 openGauss 高级数据管理-视图

    视图与基本表不同,是一个虚拟的表。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。若基本表中的数据发生变化,从视图中查询出的数据也随之改变。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中用户感兴趣的

    2024年02月14日
    浏览(105)
  • openGauss学习笔记-34 openGauss 高级数据管理-SCHEMA

    SCHEMA又称作模式。通过管理SCHEMA,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的SCHEMA下而不引起冲突。 每个数据库包含一个或多个SCHEMA。数据库中的每个SCHEMA包含表和其他类型的对象。数据库创

    2024年02月13日
    浏览(62)
  • openGauss学习笔记-45 openGauss 高级数据管理-物化视图

    物化视图是相对普通视图而言的。普通视图是虚拟表,而物化视图实际上就是存储SQL执行语句的结果,可以直接使用数据而不用重复执行查询语句,从而提升性能。 按照刷新方式物化视图分为两种: 全量物化视图 :仅支持对已创建的物化视图进行全量更新,而不支持进行增

    2024年02月11日
    浏览(54)
  • openGauss学习笔记-28 openGauss 高级数据管理-NULL值

    NULL值代表未知数据。无法比较NULL和0,因为它们是不等价的。 创建表时,可以指定列可以存放或者不能存放NULL值,详情请参见 NOT NULL约束 。本节介绍IS NULL和IS NOT NULL操作符。 创建表customer_t1,数据如下: 28.1 IS NOT NULL 在WHERE子句中查找为NULL值的字段。 例如,列出表customer

    2024年02月14日
    浏览(54)
  • openGauss学习笔记-60 openGauss 数据库管理-逻辑存储结构

    openGauss的数据库节点负责存储数据,其存储介质也是磁盘,本节主要从逻辑视角介绍数据库节点都有哪些对象,以及这些对象之间的关系。数据库逻辑结构如 图1 。 图 1 数据库逻辑结构图 说明: Tablespace,即表空间,是一个目录,可以存在多个,里面存储的是它所包含的数据

    2024年02月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包