
# TPC-DS数据生成
1. 登录ECS云服务器，执行如下命令创建TPC-DS存放目录。 
   ```
   mkdir -p /data1/script/tpcds-kit/tpcds1000X
   mkdir -p /data2/script/tpcds-kit/tpcds1000X
   ```
   
   
2. 从[官网](https://www.tpc.org/tpc_documents_current_versions/current_specifications5.asp)获取TPC-DS数据构建工具dsdgen最新版本，并通过SFTP工具上传到ECS的/data1/script/tpcds-kit目录。
3. 执行如下命令解压tpcds的包并编译生成数据构建工具dsdgen。 
   "tpcds_3.2.0.zip"替换为实际的软件包名。
   "DSGen-software-code-3.2.0rc1"替换为实际解压的文件夹名。
   ```
   cd /data1/script/tpcds-kit && unzip tpcds_3.2.0.zip
   cd DSGen-software-code-3.2.0rc1/tools && make
   ```
   
   
4. 进入**/data1/script/tpcds-kit/DSGen-software-code-3.2.0rc1/tools** 目录后，执行以下命令生成数据。
   
   ```
   for c in {1..5};do (./dsdgen -scale 1000 -dir /data1/script/tpcds-kit/tpcds1000X -TERMINATE N -parallel 10 -child ${c} -force Y > /dev/null 2>&1 &);done
   for c in {6..10};do (./dsdgen -scale 1000 -dir /data2/script/tpcds-kit/tpcds1000X -TERMINATE N -parallel 10 -child ${c} -force Y > /dev/null 2>&1 &);done
   ```
   其中：
   - -scale 指定数据规模，本例为1000。
   
   - -dir 指定生成数据文件存放的目录，本例为/data1/script/tpcds-kit/tpcds1000X/data2/script/tpcds-kit/tpcds1000X。
   
   - -TERMINATE 控制每行记录的末尾是否需要分隔符。
   
   - -parallel 指定分片数，本例为10片。
   
   - -child 指定当前是生成分片中的第几片，本例不需修改。
   
   
   
   
5. 执行以下命令，判断数据文件的生成进度。也可以通过**ps ux\|grep dsdgen** ，查看生成数据文件的进程是否退出。
   
   ```
   du -sh /data1/script/tpcds-kit/tpcds1000X/*.dat
   du -sh /data2/script/tpcds-kit/tpcds1000X/*.dat
   ```
   
   
 
