1、准备工具
TPC-DS不多做介绍了,根据官方提供得文档我们可以看到:
可以做 查询等等,那么在大数据领域,我们可以使用TPC-DS来生成海量数据,并且使用它提供得测试语句来完成性能得基准测试。再官方网站下载相关软件包:
http://www.tpc.org/tpc_documents_current_versions/current_specifications.asp
好了,我们已经下好了软件包了。
对没错,就是那个
2、TPC-DS表设计
我们继续看官方提供的文档,能够知道,该基准测试会生成24张表,其中会有7张实事表和17张维度表。
大概在18页的位置有如下图:
我们可以看到,下图是实事表表设计图:
下图是不同数据规模下,每张表的数据量:
OK,以上内容,主要是说明TPC-DS的一些表设计以及数据量的生成条数。下面开始真正使用该工具生成测试数据,本次测试生成10G数据量:
编译完成之后,我们在tools目录下会看到:
代表10G数据
代表将数据输出到/home/tmp/data中
使用24个线程
一段漫长的等待之后。。。。。。。发现,生成的数据只有2.1G。。。。的确有点小,所有我又
生成100G数据看看总数据有多大~~
哎,就这样吧,心累。
使用生成数据并导入到hive表中
嗯,介绍完了TPC-DS的表结构之类的后,我们不适用这个工具来玩,而是使用:
https://github.com/krutivan/hive-benchmark
下载好文件后,传到服务器里。
编译好之后,我们就可以开始造数据了。需要注意的是,该工具使用的是hadoop的mapreduce,而我们使用的又是HDP的发行版,所以我们需要:
会自动通过MR程序完成100G数据的生成,嗯,这大概需要1个半小时,慢慢等吧。。。。
OK,一段漫长的等待过后,我们造完了数据。然后我们发现,上图中是有错误的,通过debug,我们发现是因为我在安装HDP时,设置的容器最大内存为4G,而Tez的容器大小为11G,将Tez的容器大小改为4G后,我们继续:
等待一个漫长的片刻,导入完成。
需要的是,该工具有些查询是不支持hive的,因为它写的是sql标准,而非hive sql标准!!!大概有50多个语句是可以使用的。
领取专属 10元无门槛券
私享最新 技术干货