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