更新时间:2024-08-20 GMT+08:00
TPC-DS数据构建
- 登录ECS云服务器,执行如下命令创建TPC-DS存放目录。
1 2
mkdir -p /data1/script/tpcds-kit/tpcds1000X mkdir -p /data2/script/tpcds-kit/tpcds1000X
- 从官网获取TPC-DS数据构建工具dsdgen最新版本,并通过SFTP工具上传到ECS的/data1/script/tpcds-kit目录。
- 执行如下命令解压tpcds的包并编译生成数据构建工具dsdgen。
- “tpcds_3.2.0.zip”替换为实际的软件包名。
- “DSGen-software-code-3.2.0rc1”替换为实际解压的文件夹名。
1 2
cd /data1/script/tpcds-kit && unzip tpcds_3.2.0.zip cd DSGen-software-code-3.2.0rc1/tools && make
- 进入/data1/script/tpcds-kit/DSGen-software-code-3.2.0rc1/tools目录后,执行以下命令生成数据。
- 因为tpcds 1000X的数据,单个表的数据文件较大,我们采取分片生成的策略。
- Tpcds 1000X数据文件总大小约930GB,请确认ECS的磁盘空间足够。
- 由于生成的数据较大,只启动一个GDS导入数据会比较慢,建议均分两个数据盘来生成数据,如下示例,1-5分片存放至/data1/script/tpcds-kit/tpcds1000X,6-10分片存放至/data2/script/tpcds-kit/tpcds1000X。
1 2
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 指定当前是生成分片中的第几片,本例不需修改。
- 执行以下命令,判断数据文件的生成进度。也可以通过ps ux|grep dsdgen,查看生成数据文件的进程是否退出。
1 2
du -sh /data1/script/tpcds-kit/tpcds1000X/*.dat du -sh /data2/script/tpcds-kit/tpcds1000X/*.dat
父主题: 构建TPC-H&TPC-DS使用数据