简介
其实,使用 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模式就好.
错误可能还会出现,也会有很多,就看你是怎么处理了,后边的再补上... ...