因项目需要,需要测试impala查询性能,经过一番搜索最准选定基于TPC-H工具来测试。
目录
硬软件环境
- 服务器
10台阿里云 ecs.d1ne.4xlarge 16vcore 64GB
- 操作系统
CentOS 6.9
- Hadoop环境
CDH 2.6.0-cdh5.14.0/Cloudera Manager 5.14.1
- Impala
2.11.0-cdh5.14.0
impala daemon * 8 Catalog Server * 1 StateStore * 1
TPC-H测试工具准备
TPC-H 主要目的是评价特定查询的决策支持能力,强调服务器在数据挖掘、分析处理方面的能力。查询是决策支持应用的最主要应用之一,数据仓库中的复杂查询可以分成两种类型:一种是预先知道的查询,如定期的业务报表;另一种则是事先未知的查询,称为动态查询(Ad- Hoc Query)。通俗的讲,TPC-H就是当一家数据库开发商开发了一个新的数据库操作系统,采用TPC-H作为测试基准,来测试衡量数据库操作系统查询决策支持方面的能力.
准备测试数据生成器tpch-dbgen
克隆数据集生成器项目,生成测试数据
$git clone https://github.com/electrum/tpch-dbgen
编译dbgen
$make
生成测试数据(10GB)
$./dbgen -s 10
下载 tpc-h-impala测试脚本
$git clone https://github.com/kj-ki/tpc-h-impala
运行TPC-H测试用例
移动上一步tpch-dbgen生成工具生成*.tbl文件至tpc-h-impala的data目录中。
$mv ../tpch-dbgen/*.tbl ./data/
上传测试数据至hdfs
$cd tpc-h-impala/data $./tpch_prepare_data.sh (可能根据需要调整hdfs上传用户权限)
上传至hdfs之后效果如下图:
- 执行tpch_benchmark.sh脚本