使用tpcds生成mysql测试数据

tpc-ds是衡量性能好坏的基准测试数据集。它包含7张事实表,17张纬度表,平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,我们可以使用它来验证hive、spark性能,测试etl工具的导数性能等等。

1.下载tpcds并编译

  • 解压后会生成类似v2.8.0rc4这样的目录
    unzip tpc-ds-tool.zip
  • 进入tools目录
    cd $TPCDS_HOME/tools
  • 编译
    make

2.创建mysql库并执行初始脚本

  • 使用mysql命令行或者navicat创建测试库tpcds
    create database tpcds DEFAULT CHARSET utf8 COLLATE utf8_general_ci
  • 导入表结构到tpcds库
    mysql -uroot -proot tpcds < $TPCDS_HOME/tools/tpcds.sql

3.生成测试数据

./dsdgen -DIR /tmp/tpcds_data -SCALE 1 -TERMINATE N, tpcds.sql
DIR:生成数据存放目录,这个目录需要提前建好否则会报错
SCALE:数据规模,单位GB

4.写入数据到mysql库

写入数据
LOAD DATA INFILE ‘/tmp/tpcds_data/web_site.dat’ INTO TABLE web_site FIELDS TERMINATED BY ‘|’ LINES TERMINATED BY ‘\n’;
在这里插入图片描述
如果提示报错类似:ERROR 1292 (22007): Incorrect date value: ‘’ for column,则需要更改mysql的sql_mode
set sql_mode =‘NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;

生成查询用的sql语句
./dsqgen -input …/query_templates/templates.lst -directory …/query_templates -output /tmp

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值