【TPC-DS】安装部署与生成数据
下载TPC-DS的安装包
1、【方法一】官网下载链接如下
https://www.tpc.org/tpc_documents_current_versions/current_specifications5.asp
2、【方法二】利用下面的链接进行下载(我自己注册后获取到的下载地址,有些电脑上在下载时不会显示校验码,因此不容易下载成功)
https://tpc.org/tpc_documents_current_versions/download_programs/tools-download5.asp?email= shangyanwen@stoneatom.com&bm_type=TPC-DS&bm_version=3.2.0&download_key=6FFAE110%2DA768%2D40A4%2D933C%2D1950717A7F0C
3、【方法三】存我的云盘中进行下载
链接: https://pan.baidu.com/s/1kH_FshbbMXx7WIk_Z2AkyA 密码: ieun
下载至本地目录
2.将下载下来的62db750f-bf9b-4d51-808d-c85dc7929d0d-tpc-ds-tool.zip文件解压至当前目录
unzip 62db750f-bf9b-4d51-808d-c85dc7929d0d-tpc-ds-tool.zip
3、将解压的包进行重名为:tpc-ds-tool
mv 62db750f-bf9b-4d51-808d-c85dc7929d0d-tpc-ds-tool tpc-ds-tool
4、安装TPC-DS编译依赖环境
yum -y install gcc gcc-c++ expect
编译TPC-DS
1、进入解压好的tpc-ds-tool/tools目录下
2.在该目录下执行如下命令编译TPC-DS
[root@h17r3n06 tools]# pwd /home/minio/data/tpc-ds/tpc-ds-tool/tools [root@h17r3n06 tools]# make
至此已完成TPC-DS的编译。
建表语句说明
1.进入/home/minio/data/tpc-ds/tpc-ds-tool/tools,查看tpcds.sql文件,该文件则是这些数据的基本建表语句
这里提供了基础的建表语句,我们需要根据我们测试数据库的环境对SQL语句做相应的修改
生成测试数据
在tools目录是通过dsdgen命令生成指定量级的测试数据,可以通过并行的方式生成数据,可以指定数据的分隔符等,具体参数可以使用dsdgen –h来查看
1.进入/home/minio/data/tpc-ds/tpc-ds-tool/tools目录下执行如下命令生成测试数据
[root@h17r3n06 tools]# mkdir /root/tpcdsdata [root@h17r3n06 tools]# cd /root/v2.8.0rc4/tools/ [root@h17r3n06 tools]# ./dsdgen -SCALE 1GB -DIR /root/tpcdsdata
注意:这里指定的数据存放目录必须存在否则会报“Failed to open output file!”异常。
-SCALE:指定生成数据量大小如:100GB、200GB、1TB、100TB
2.查看生成的表数据
可以看到生成的数据量在1.2GB,这里生成数据是随机性的,所以生成的测试数据量和指定的数据量大小有一定的出入,但数据量的大小基本在指定大小的范围左右。
3.并行生成测试数据
[root@h17r3n06 test_data]# ./dsdgen -SCALE 1GB -DIR /root/tpcdsdata -parallel 4 -child 4
6.根据模板生成查询语句
通过使用dsqgen命令根据TPC-DS提供的模板生成不同类型的SQL语句,TPC-DS默认支持以下模板:db2.tpl、netezza.tpl、oracle.tpl、sqlserver.tpl,如下使用方式:
这里我们使用Oracle来作为示例来生成Oracle的查询语句:
[root@ip-172-31-16-68 tools]# ./dsqgen -input ../query_templates/templates.lst -directory ../query_templates -dialect oracle -scale 1GB -OUTPUT_DIR /root/tpcdsdata/query_oracle
在生成query.sql文件时会报错,错误信息如下:
[root@ip-172-31-16-68 tools]# ./dsqgen -input ../query_templates/templates.lst -directory ../query_templates -dialect oracle -scale 1GB -OUTPUT_DIR /root/tpcdsdata/query_oracle qgen2 Query Generator (Version 2.8.0) Copyright Transaction Processing Performance Council (TPC) 2001 - 2018 Warning: This scale factor is valid for QUALIFICATION ONLY ERROR: Substitution'_END' is used before being initialized at line 59 in ../query_templates/query3.tpl [root@ip-172-31-16-68 tools]#
我们需要手动的去修改tempalte_query目录下相应的模板,这里我们已query1.sql为例修改:
其它query.sql默认均已这种方式进行修改。
7.总结
- 利用TPC-DS工具可以很方便的生成我们指定数据量的测试数据
- 在使用建表语句时需要根据我们的测试环境对建表语句作相应的修改
- 同样99条SQL查询语句也需要根据我们的数据库类型进行相应的修改
1.作者:Syw 2.出处:http://www.cnblogs.com/syw20170419/ 3.本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 4.如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2020-04-28 项目启动后,领导要求压缩工期,该如何处理?
2020-04-28 项目管理的4大模型
2019-04-28 appium+python 【Mac】UI自动化测试封装框架介绍 <七>---脚本编写规范
2019-04-28 appium+python 【Mac】UI自动化测试封装框架介绍 <六>---多人协作
2019-04-28 appium+python 【Mac】UI自动化测试封装框架介绍 <五>---脚本编写(多设备)
2019-04-28 appium+python 【Mac】UI自动化测试封装框架介绍 <四>---脚本的调试
2019-04-28 appium+python 【Mac】UI自动化测试封装框架介绍 <三>---脚本的执行