性能测试以TPC-DS 1TB数据为测试数据,使用标准的DSDGEN工具构造样本数据。
说明 本文的TPC-DS的实现基于TPC-DS的基准测试,并不能与已发布的TPC-DS基准测试结果相比较,本文中的测试并不符合TPC-DS基准测试的所有要求。
-
从TPC官网下载TPC-DS标准的数据生成工具DSDGEN,编译后生成二进制可执行文件dsdgen。
- 创建存放数据文件的目录。
mkdir data1tb
- 构建测试数据。
./dsdgen -sc 1000 -dir data1tb -TERMINATE N
参数说明如下:参数 说明 示例 -sc 测试数据量的大小。 10表示10GB,1000表示1000GB(1TB) -dir 生成的数据文件写入的目录。 data1tb -TERMINATE 每行最后是否加字段分隔符。 N或者Y - N:每行最后不加字段分隔符。
- Y:每行最后添加字段分隔符。比如分隔符|。
-PARALLEL 一共分成几个chunk。 一条语句只能生成一个chunk。因此设置了几个,就要执行几次。
5 -CHILD 当前命令生成第几个chunk。 1 例如,要构建1TB的测试数据,5个chunk来运行。mkdir data1tb_5 ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 1 ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 2 ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 3 ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 4 ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 5
dsdgen命令生成的测试数据文件是文本格式,字段分隔符默认是管道符 |,一行一条数据记录。call_center.dat catalog_page.dat catalog_returns.dat catalog_sales.dat customer_address.dat customer.dat customer_demographics.dat date_dim.dat dbgen_version.dat household_demographics.dat income_band.dat inventory.dat item.dat promotion.dat reason.dat ship_mode.dat store.dat store_returns.dat store_sales.dat time_dim.dat warehouse.dat web_page.dat web_returns.dat web_sales.dat web_site.dat
更多DSDGEN的使用方法,请参见tpc-ds。