一、环境说明
Hadoop集群:使用测试Hadoop集群,节点:
hadoop230
hadoop231
hadoop232
hadoop233
这几台机器配置一样,具体参数可参考如下:
CPU数量:2个
CPU线程数:32个
内存:128GB
磁盘:48TB
使用测试机群上的同一个队列,使用整个集群的资源,所有的查询都是无并发的。
Hive使用官方的hive 1.2.1版本,使用hiveserver2的方式启动,使用本机的mysql存储元数据。
二、测试数据生成
测试数据为TPC-DS基准测试的数据,官方文档:http://www.tpc.org/information/current_specifications.asp,这个数据集一共24个表:7个事实表,17个维度表,每一个事实表和大部分的维度表组成雪花模型,scale_factor设置为100,也就是生成100GB的数据。
2.1 下载hive-testbench
git clone https://github.com/hortonworks/hive-testbench
这个项目是用于生成TPC-DS数据集并且将其导入到hive,在使用之前需要保证已经将hive、hadoop等命令加入到PATH中。
2.2 编译
进入该目录,执行./tpcds-build.sh,该命令会从TPC-DS下载源代码,并编译,初始化metaStore,为导入数据到hive做准备。
2.3 导入数据
导入ORC数据:./tpcds-setup.sh 100 默认的文件格式就是ORC,所以不需要指定存储格式。
导入Parquet数据:FORMAT=parquet ./tpcds-setup.sh 100 指定文件格式为Parquet
参数100表示生成100GB的数据,改程序首先会生成text格式的数据到临时目录,然后再将这些数据转换成orc或者