关闭

TPC-DS 生成数据

标签: TPC-DStpc-ds tpc-h
2256人阅读 评论(1) 收藏 举报
分类:

简介

其实,使用 TPC-DS 生成系统性能测试的数据,说简单也简单,说难,确实也不好做!

关键是在每一步的操作中,如果遇到了问题,该怎么样处理,这个是个问题的关键。

下面就将生成的步骤简单描述一下,好记性不如烂笔头呀!


生成步骤


1.在官网上(http://www.tpc.org/tpcds/ )去下载最新的:TPC-DS. 


2.解压: 下载的 zip 文件放在 linux 上解压,并进入他的 tools 目录.


3.编译:make (忽略编译警告,只保证生成过程成功完成). 这里需要linux安装上了 gcc , gcc c++, expect 等.


4.生成数据:在tools目录下执行:./dsdgen -scale 5 -force (-force:会覆盖原来生成的data,否则不覆盖);生成的25个.dat 的数据文件.


5.创建相应的表,命令:mysql -u <your_mysql_user> -p < tpcds.sql <your_db_name> 这是以mysql为例子. 输入密码,
等待执行完成,对应的就会在你的 your_db_name 中生成相应的 25 张表。


6.将每个.dat的数据文件放进对应的数据库中,使用如下命令:
LOAD DATA INFILE 'your_DAT_filename' INTO TABLE table_the_DAT_file_is_for FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n'
your_DAT_filename:*.dat;
table_the_DAT_file_is_for:tableName;


通过以上六步骤,就可以将 TPC-DS 数据全部 load 到对应的表中去,也就生成了相应的测试数据了.


可能出现的错误


1.1292 (22007): Incorrect date value: '' for column 'wp_rec_end_date' at row 1


方式一:在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”
把其中的 STRICT_TRANS_TABLES 去掉,然后重启mysql就ok了


方式二:
a. select @@sql_mode; 查看有哪些模式.


b.set @@sql_mode=NO_ENGINE_SUBSTITUTION,...;  不要STRICT_TRANS_TABLES模式就好.


错误可能还会出现,也会有很多,就看你是怎么处理了,后边的再补上... ... 


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:183377次
    • 积分:3732
    • 等级:
    • 排名:第8653名
    • 原创:173篇
    • 转载:125篇
    • 译文:6篇
    • 评论:8条
    文章分类
    最新评论