当前位置: 首页 > news >正文

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

openGauss2.1.0 TPC-C数据导入

    • 一、下载tpch测试数据
    • 二、导入测试数据

一、下载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
    ./dbgen -vf -s 1
    
    执行完成后,登录数据库查看,会看到如下8张表:
    					List of relationsSchema |   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`; dotable=${i/.tbl/}echo "Loading $table..."sed 's/|$//' $i > /tmp/$igsql 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语句
    至此,已完成了查询语句的生成。

相关文章:

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

openGauss2.1.0 TPC-C数据导入 一、下载tpch测试数据二、导入测试数据 一、下载tpch测试数据 使用普通用户如omm登录服务器执行如下命令下载测试数据库:git clone https://gitee.com/xzp-blog/tpch-kit.git二、导入测试数据 进入dbgen目录下,生成makef…...

vue+elementui表格导出

htmlToExcel.js import FileSaver from file-saver import XLSX from xlsxconst htmlToExcel {getExcel(dom, title 默认标题) {var excelTitle titlevar wb XLSX.utils.table_to_book(document.querySelector(dom))/* 获取二进制字符串作为输出 */var wbout XLSX.write(w…...

掌握前端利器:JavaScript页面渲染高阶方法解析与实战

引言 前端开发中,页面渲染的速度和质量是衡量一个开发者水平的重要标准。而在众多的前端技术中,JavaScript以其强大的页面渲染能力独占鳌头。本文将深入探讨JavaScript在页面渲染中的应用,并通过实例展示其高阶方法,旨在帮助读者…...

面试题——网络IO模型

一、socket socket是在应用层和传输层中间的抽象层,它把传输层(TCP/UDP)的复杂操作抽象成一些简单的接口,供应用层调用实现进程在网络中的通信。Socket起源于UNIX,在Unix一切皆文件的思想下,进程间通信就被…...

【JUC基础】JUC入门基础(二)

目录 异步回调JMM 理解对 volatile 的理解1、保证可见性2、不保证原子性3、禁止指令重排 对 JMM 的理解 详解单例模式饿汉式懒汉式DCL懒汉式:双重检测锁模式的懒汉式单例静态内部类实现单例通过反射破坏单例,修改后的DCL饿汉式枚举实现单例防止反射破坏 …...

Git Bash 和 Git GUI中文汉化

目录 为什么要中文汉化?Git Bash的汉化Git GUI的汉化 为什么要中文汉化? 看到中文大概能猜出是什么意思,便于使用,特别是Git GUI,中文版的菜单很容易理解是要做什么,如下图: Git Bash的汉化 …...

【Ubuntu】Ubuntu常用软件部署

1.安装jdk1.8 (1).apt方式安装 1).安装 1.在终端中输入以下命令,以更新软件包列表 sudo apt-get update2.在终端中输入以下命令,以安装JDK 1.8 sudo apt-get install openjdk-8-jdk3.将Java 1.8设置为默认版本。在终端中输入以下命令 sudo update-…...

Hadoop HA模式切换

Hadoop HA模式下 主从的切换(操作命令) YARN HA 获取所有RM节点的状态 yarn rmadmin -getAllServiceState获取 rm1 节点的状态 yarn rmadmin -getServiceState rm1手动将 rm1 的状态切换到STANDBY yarn rmadmin -transitionToStandby rm1 ##或者 y…...

自然语言处理(四):全局向量的词嵌入(GloVe)

全局向量的词嵌入(GloVe) 全局向量的词嵌入(Global Vectors for Word Representation),通常简称为GloVe,是一种用于将词语映射到连续向量空间的词嵌入方法。它旨在捕捉词语之间的语义关系和语法关系&#…...

Flink中RPC实现原理简介

前提知识 Akka是一套可扩展、弹性和快速的系统,为此Flink基于Akka实现了一套内部的RPC通信框架;为此先对Akka进行了解 Akka Akka是使用Scala语言编写的库,基于Actor模型提供一个用于构建可扩展、弹性、快速响应的系统;并被应用…...

ELK安装、部署、调试(五)filebeat的安装与配置

1.介绍 logstash 也可以收集日志,但是数据量大时太消耗系统新能。而filebeat是轻量级的,占用系统资源极少。 Filebeat 由两个主要组件组成:harvester 和 prospector。 采集器 harvester 的主要职责是读取单个文件的内容。读取每个文件&…...

Python数据分析案例30——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

案例背景 最近总看到《消失的她》票房多少多少,《孤注一掷》票房又破了多少多少..... 于是我就想自己爬虫一下获取中国高票房的电影数据,然后分析一下。 数据来源于淘票票:影片总票房排行榜 (maoyan.com) 爬它就行。 代码实现 首先爬虫获…...

科技资讯|苹果Vision Pro头显申请游戏手柄专利和商标

苹果集虚拟现实和增强现实于一体的头戴式设备 Vision Pro 推出一个月后,美国专利局公布了两项苹果公司申请的游戏手柄专利,其中一项的专利图如下图所示。据 PatentlyApple 报道,虽然专利本身并不能保证苹果公司会推出游戏手柄,但是…...

Compose学习 - remember、mutableStateOf的使用

一、需求 在显示界面中,数据变动,界面刷新是非常常见的操作,所以使用compose该如何实现呢? 二、remember、mutableStateOf的使用 我们可以借助标题的两个概念 remember、mutableStateOf来完成。这里先不写定义,定义…...

字符串哈希

字符串前缀哈希法 str "ABCABCDEHGJK" 预处理每一个前缀的哈希值,如 : h[0] 0; h[1] "A"的哈希值 h[2] "AB"的哈希值 h[3] "ABC"的哈希值 h[4] "ABCA"的哈希值 问题 : 如何定义一个前缀的哈希值 : 将字符串看…...

【python】【centos】使用python杀死进程后自身也会退出

问题 使用python杀死进程后自身程序也会退出,无法执行后边的代码 这样不行: # cmd " ps -ef | grep -v grep | grep -E task_pull_and_submit.py$|upgrade_system.py$| awk {print $2}"# pids os.popen(cmd).read().strip(\n).split(\n)# p…...

【ES系列】(一)简介与安装

首发博客地址 首发博客地址[1] 系列文章地址[2] 教学视频[3] 为什么要学习 ES? 强大的全文搜索和检索功能:Elasticsearch 是一个开源的分布式搜索和分析引擎,使用倒排索引和分布式计算等技术,提供了强大的全文搜索和检索功能。学习 ES 可以掌…...

opencv案例06-基于opencv图像匹配的消防通道障碍物检测与深度yolo检测的对比

基于图像匹配的消防通道障碍物检测 技术背景 消防通道是指在各种险情发生时,用于消防人员实施营救和被困人员疏散的通道。消防法规定任何单位和个人不得占用、堵塞、封闭消防通道。事实上,由于消防通道通常缺乏管理,导致各种垃圾&#xff0…...

练习2:88. 合并两个有序数组

这里写自定义目录标题 题目解体思路代码 题目 给你两个按非递减顺序排列的整数数组 nums1 和 nums2,另有两个整数 m和 n ,分别表示 nums1 和 nums2中的元素数目。 请你合并nums2 到 nums1 中,使合并后的数组同样按非递减顺序排列。 注意&a…...

【代码随想录day23】不同路径

题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示…...

【芯片测试】:SmarTest 开发环境入门

SmarTest 开发环境入门:Eclipse IDE 集成与工作区管理系列: Advantest V93000 SmarTest 8 核心概念解析|第 1 篇(共 8 篇) 适合读者: 初次接触 SmarTest 的测试工程师、ATE 软件开发者前言 很多工程师第一次…...

Triton+Istio+Prometheus构建高可用ML模型服务化架构

1. 项目概述:这不是一次“部署”,而是一场从实验室到产线的系统性迁移“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题里藏着太多被轻描淡写却重若千钧的词。“Notebook”不是指纸质本子,而是Jupyter里…...

为什么很多企业,做大后反而开始放弃 SaaS?——真正限制企业长期发展的,很多时候不是“功能”,而是“系统控制权”

很多企业第一次做商城系统时。 通常都会特别关注: 上线快不快成本低不低功能全不全能不能快速开展业务 所以: 很多企业前期都会优先选择: SaaS商城系统。 因为: SaaS 最大的优势确实很明显: 快速上线不需要运维…...

tinychain实战教程:10步掌握区块链交易验证与挖矿机制

tinychain实战教程:10步掌握区块链交易验证与挖矿机制 【免费下载链接】tinychain A pocket-sized implementation of Bitcoin 项目地址: https://gitcode.com/gh_mirrors/ti/tinychain tinychain是一个轻量级的比特币实现,让你能够快速理解区块链…...

LoftQ量化技术终极指南:如何在4bit精度下高效微调大语言模型

LoftQ量化技术终极指南:如何在4bit精度下高效微调大语言模型 【免费下载链接】peft 🤗 PEFT: State-of-the-art Parameter-Efficient Fine-Tuning. 项目地址: https://gitcode.com/gh_mirrors/pe/peft 在大语言模型(LLM)微调的实践中,…...

5分钟解锁AI智能助手:Qwen-Agent模型配置完全指南

5分钟解锁AI智能助手:Qwen-Agent模型配置完全指南 【免费下载链接】Qwen-Agent Agent framework and applications built upon Qwen>3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc. 项目地址: https://gitcode.com/Git…...

ARM处理器命名后缀解析与技术演进

1. ARM处理器命名后缀解析:从TDMI-S到T2F-S的技术演进作为一名长期从事嵌入式开发的工程师,我经常需要查阅ARM处理器的技术文档。初次接触ARM7TDMI-S、ARM926EJ-S这类命名时,那些神秘的字母后缀确实让人困惑。今天我们就来彻底拆解这些命名背…...

如何高效下载QQ音乐资源:5个简单步骤掌握res-downloader嗅探技术

如何高效下载QQ音乐资源:5个简单步骤掌握res-downloader嗅探技术 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …...

Unity ShaderGraph环境搭建避坑指南:URP/HDRP渲染管线匹配

1. 为什么“环境搭建”是ShaderGraph学习路上第一个真坑 很多人点开Unity ShaderGraph教程,第一眼看到“创建Sub Graph”“连接Base Color节点”,心里一热:这不就是拖拖拽帖?比写HLSL简单多了!结果双击打开Shader Gra…...

基于RK3568嵌入式主板的智能炒菜机方案:从硬件选型到系统集成实战

1. 项目概述:当嵌入式主板“掌勺”智能厨房最近几年,智能厨电赛道卷得厉害,从智能电饭煲到自动炒菜机,大家都在琢磨怎么让做饭这件事变得更“傻瓜”。我接触过不少这类项目,发现一个核心痛点:很多所谓的“智…...