【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.如果文中有什么错误,欢迎指出。以免更多的人被误导。 |