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

Oceanbase下使用TPC-H模式生成数据

1.下载tpc-h

http://www.tpc.org/

点击下载始终弹出这个画面,尝试了多种方法无效,最后选择科学上网工具,才正常下载。

通过网盘分享的文件:TPC-H-Toolv3.zip
链接: https://pan.baidu.com/s/14CXrp7v_7XkPtXfFLkziBQ?pwd=qf5t 提取码: qf5t 
--来自百度网盘超级会员v8的分享

2. 编译TPCH基准工具

直接解压安装包TPC-H-Tool.zip

编辑项目定义的头文件TPC-H V3.0.1/dbgen/tpcd.h,不同的数据库使用不用的定义。文件中内置了一些数据库,本示例使用obmysql,所以选择添加mysql定义,如下:

#ifdef MYSQL

#define GEN_QUERY_PLAN  ""

#define START_TRAN      "start transaction"

#define END_TRAN        "commit"

#define SET_OUTPUT      ""

#define SET_ROWCOUNT    "limit %d;\n"

#define SET_DBASE       "use %s;\n"

#endif

2.2. 修改编译文件

编译文件 TPC-H V3.0.1/dbgen/makefile.suite,找到如下内容按情况修改,CC行添加gcc、DATABASE/MACHINE/WORKLOAD添加参数,如下:
################

## CHANGE NAME OF ANSI COMPILER HERE

################

CC      = gcc        

DATABASE= MYSQL

MACHINE = LINUX

WORKLOAD = TPCH

2.3. 执行编译

上述2个文件配置完成后,TPC-H V3.0.1/dbgen/ 执行 make 命令(gcc提前安装好)

编译完成后会自动生成2个执行文件

  • dbgen:生成表数据(csv文件)
  • qgen:生成复杂查询SQL

2.4 生成数据

在dbgen目录下,使用如下命令生成.tbl数据文件。在本例中,-s 1表示生成1GB的数据。如果需要生成10GB的数据,将1改为10即可。

./dbgen -s 1

执行上述命令后,dbgen工具将开始生成数据文件并保存在当前目录下。生成的数据文件包括8个表,分别是:supplier.tbl、region.tbl、part.tbl、partsupp.tbl、orders.tbl、nation.tbl、lineitem.tbl、customer.tbl。

2.5 obloader导入数据

[root@ocp dbgen]# /root/ob-loader-dumper-4.3.4-RELEASE/bin/obloader -h 192.192.103.125 -P2883 -uroot@test#test_ob_cluster -p 'Root_1234'  -D obcp4 --cut --all  -f '/root/ob-loader-dumper-4.3.4-RELEASE/ext' --file-suffix 'tbl' --thread 8

2025-09-17 20:44:29 [INFO] Parsed args:

[--cut] true

[--file-path] /root/ob-loader-dumper-4.3.4-RELEASE/ext

[--file-suffix] tbl

[--thread] 8

[--host] 192.192.103.125

[--port] 2883

[--user] root@test#test_ob_cluster

[--password] ******

[--database] obcp4

[--sys-user] root

[--all] true

初次导入报错,检查ob-loader-dumper.bad日志,发现字段的包裹符为|,同时行记录结尾也有|,需要屏蔽掉,添加参数-trail-delimiter

[root@ocp dbgen]# /root/ob-loader-dumper-4.3.4-RELEASE/bin/obloader -h 192.192.103.125 -P2883 -uroot@test#test_ob_cluster -p 'Root_1234'  -D obcp4 --cut --all  -f '/root/ob-loader-dumper-4.3.4-RELEASE/ext' --column-separator '|' --file-suffix 'tbl' --thread 8 -trail-delimiter

其他用法参考文档:

https://www.hikunpeng.com/document/detail/zh/kunpengdbs/testguide/tstg/kunpengtpch_02_0005.html


文章转载自:

http://fGSXJ2yN.drytb.cn
http://rOAYxd4w.drytb.cn
http://MEBp7ob6.drytb.cn
http://pmI2XiUC.drytb.cn
http://48b9a3DD.drytb.cn
http://7u1Njz2n.drytb.cn
http://ii1dPqAv.drytb.cn
http://K4i5ZL5E.drytb.cn
http://xyR0R1HR.drytb.cn
http://WZRcWVOX.drytb.cn
http://ZNfRMwwS.drytb.cn
http://Q9EBTNfc.drytb.cn
http://upEfDQDk.drytb.cn
http://c0LbeUoL.drytb.cn
http://bBj1Wyc9.drytb.cn
http://EBBnfYpa.drytb.cn
http://JjnIV8yn.drytb.cn
http://vCNgQKlC.drytb.cn
http://cDL7xITG.drytb.cn
http://PgOhifD9.drytb.cn
http://vVh2Gqdm.drytb.cn
http://pGOeO2l7.drytb.cn
http://vUiiImni.drytb.cn
http://cHgCHHq2.drytb.cn
http://JcGjtkhC.drytb.cn
http://HSuNl4uo.drytb.cn
http://TOStFe71.drytb.cn
http://xEwZfD9O.drytb.cn
http://zoTz1Dsm.drytb.cn
http://1Qwp6aQQ.drytb.cn
http://www.dtcms.com/a/388375.html

相关文章:

  • 20250917让荣品RD-RK3588-MID开发板的Android13系统在刷机的时候就直接以百分比显示电池电量
  • MySQL 核心操作全解析(用户 + SHOW+DML+DCL)
  • 【前端】【React】【Zustand】[特殊字符] Zustand 系统学习大纲(实战版)
  • 在测试接口时,遇到关于时间参数的传参时,遇到类型编译器无法转换的解决方案
  • 晶圆厂为什么都采用高架地板?
  • unsloth 笔记:微调mistral-7b(纯文本数据集)
  • 【vim,Svelte】怎样使用 vim 编辑 Svelte 那些奇奇怪怪名字的文件?
  • 【AOI基板外观缺陷检测软件】基于Halcon+C#开发的AOI基板外观缺陷检测软件,全套源码,开箱即用
  • htb academy笔记-module-Password Attacks(一)
  • Java程序设计:顺序结构与分支结构
  • 铺满式水印添加教程!水印如何铺满整个详情页页面?
  • 基于SpringBoot+Vue.js开发的医疗器械管理系统
  • 职业定位:用 “能力 - 兴趣 - 需求” 模型找到赛道
  • Caffeine Expiry
  • 【C++项目】C++11重构muduo库
  • 如何选择靠谱的防伪溯源系统公司?
  • 线程池 相关知识
  • 搭建CI/CD 流水线简单说明
  • 大Key与热Key详解:概念、危害与解决方案
  • Java中的自动拆装箱原理
  • Android 入门笔记(2)
  • 程序员内功之成长性思维
  • vLLM 和 SGLang 是两个近年来备受关注的开源项目
  • CMake进阶: 路径处理指令join_paths和cmake_path
  • 算法简略速记手册
  • C语言(长期更新)第17讲内存函数
  • 【CSP-S】 基础知识与编程环境
  • Python HTTPS 教程 如何发送 HTTPS 请求、解决证书错误、实现抓包与网络调试全攻略
  • 【Cesium 开发实战教程】第五篇:空间分析实战:缓冲区、可视域与工程测量
  • 告别塑料感!10分钟学会基础材质调节