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