教你如何优雅的编译和使用TPC-DS工具
【摘要】 一、tpcds工具编译1. 从tpc官网下载TPC-DS包。http://www.tpc.org/tpcds/2. 提交TPC-DS包至linux服务器上。3. 解压。 unzip tpc-ds2.6.zip4. 进入目录。 cd v2.6.0/tools5. 复制Makefile文件。 cp Makefile.suite Makefile6. 编译工具 make二...
一、tpcds工具编译
1. 从tpc官网下载TPC-DS包。
http://www.tpc.org/tpcds/
2. 提交TPC-DS包至linux服务器上。
3. 解压。
unzip tpc-ds2.6.zip
4. 进入目录。
cd v2.6.0/tools
5. 复制Makefile文件。
cp Makefile.suite Makefile
6. 编译工具
make
二、生成查询语句
#----下面是坑,query生成工具调用的模板里面缺少两个宏定义,需要自己补上,可以定义为任意字符串,但推荐下面设置
1. 编辑sql生成模板。
vi ../query_templates/oracle.tpl
2. 新增两个宏定义。
define _BEGIN = "-- start query " + [_QUERY] + " in stream " + [_STREAM] + " using template " + [_TEMPLATE] + " and seed " + [_SEED];
define _END = "-- end query " + [_QUERY] + " in stream " + [_STREAM] + " using template " + [_TEMPLATE];
#----完成填坑
3. 然后就可以生成query了。
./dsqgen -input ../query_templates/templates.lst -directory ../query_templates/ -dialect oracle -scale 10000
参数就不解释了,自个使用-?查询就明白了。
4. And,query生成在哪呢?
查看当前路径下的sql文件,会发现多了一个query_0.sql,就是“这货”了。
ls query_0.sql
三、生成TPC-DS数据
生成数据依赖于dsdgen工具,此外还有一个tpcds.idx的二进制文件
常用的参数:
-scale <n> : n为整数,指定生成数据的规模
-dir <dir> : dir为已存在的目录,指定生成数据文件的存放目录
-parallel <n> : n为整数,指定数据生成多少份
-child <n> : n为整数,指定生成第一几份数据,配合-parallel使用
-delimiter: 指定数据文件字段分隔符
-table <tablename> : 指定生成哪张表数据
注:tpcds共25张表,表名如下:
call_center
catalog_page
customer
customer_address
customer_demographics
date_dim
dbgen_version
store
household_demographics
income_band
inventory
item
promotion
reason
ship_mode
time_dim
warehouse
web_page
web_site
catalog_returns
web_returns
store_returns
catalog_sales
web_sales
store_sales
TPCDS数据主要存在store_sales、store_returns、catalog_sales、catalog_returns、web_sales、web_returns 6个表中,生成数据时指定store_sales、catalog_sales、web_sales三个表即可,store_returns、catalog_returns、web_returns三个表会随*_sales数据的生成自动生成出来
典型用法:
生成tpcds 100x数据,表store_sales数据文件分为5份,将第一份数据存在在目录/data2/tpcds100x下(根据需要可以适当舍去某些选项)
./dsdgen -scale 100 -dir /data2/tpcds100x -TERMINATE N -parallel 5 -child 1 -force Y -table store_sales
./dsdgen -scale 100 -dir /data2/tpcds100x -TERMINATE N -parallel 5 -child 2 -force Y -table store_sales
./dsdgen -scale 100 -dir /data2/tpcds100x -TERMINATE N -parallel 5 -child 3 -force Y -table store_sales
./dsdgen -scale 100 -dir /data2/tpcds100x -TERMINATE N -parallel 5 -child 4 -force Y -table store_sales
./dsdgen -scale 100 -dir /data2/tpcds100x -TERMINATE N -parallel 5 -child 5 -force Y -table store_sales
想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料~
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)