TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张纬度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集
一、安装TPC-DS工具
1.安装依赖
yum -y install gcc gcc-c++ libstdc++-devel bison byacc flex
2.下载
http://www.tpc.org/tpc_documents_current_versions/current_specifications.asp
3.安装
unzip tpc-ds-tool.zip
cd v2.7.0/tools
make
二、生成数据并将数据导入到相应的表中
生成数据
[root@bd129107 tools]# ./dsdgen -scale 1 -dir /home/zyl/data/
./dsdgen --hlep
-DIR 生成目录
-SCALE 数据大小(单位GB)
-DELIMITER 字段分隔符,默认|
-TERMINATE 末尾是否有分隔符,参数 Y或者N
...
三、创建TPC-DS测试需要用到的表
1、准备好创建表语句
TPC-DS已经提前准备好了创建表相关的SQL文件
文件位于tools目录下,具体文件如下:
tpcds.sql 创建25张表的sql语句
tpcds_ri.sql 创建表与表之间关系的sql语句
tpcds_source.sql
注意:不同的库SQL语法不一样,需要对应修改
2、利用数据库连接工具(如:navicat preminer)创建相应的数据库和表
将准备好的建表语句复制到工具中创建表
如果是hive库:需要对应修改sql语句,操作如下:
在 SQL 引擎中创建外表和执行表,导入数据
a、在hive中建表,建表语句参考tcp_dc_hive_25.sql文件
b、数据导入,参考load_hive_25.sql文件
四、生成99个查询语句
参考: