大数据impala+hive/kudu性能测试

前一个月,一直在和师兄做实验室的一个项目:大数据平台性能测试(phrase1),没有时间更新。现把第一阶段结果附上,希望能够帮到更多做类似事情的朋友。

源码已经上传至[https://github.com/darcy-shimmer/bigdata_phrase1]里面readme包括详细解释。

本次测试我们使用TPCDS标准进行。第一阶段我们主要测试hive&kudu导入数据速度以及impala+hive和impala+kudu两者的查询速度。

测试环境

  • 节点:阿里云ECS 四个节点(但实际上第一阶段我们只用到了一个服务器bigdata1来测试)
  • 配置:-
    • CPU: 8核
    • 内存: 32 GB
  • 操作系统:CentOS 6.9 64位
  • 版本:Kudu 1.7.0
  • 对照组实验:
    • Impala+hive(textfile)
    • Impala+kudu

测试目的:

利用测试对比该数据平台上,impala+kudu和impala+hive的查询速度,以及把数据导入kudu/hive的速度。

测试步骤

1.数据生成:

#x为生成的数据集大小(int),单位Gb
bash start.sh ganerate x

  • 环境依赖: tpcds-kt

#以下步骤均已执行,在impala-kudu/tpcds-kit/
sudo yum install gcc make flex bison byacc git
git clone https://github.com/gregrahn/tpcds-kit.git
cd tpcds-kit/tools
make OS=LINUX

  • 有个注意点 因为hdfs是装在bigdata3服务器上,所以在上传到hdfs时候需要ssh到bigdata3,我们用的是:

scp -r …/Data/newData_KaTeX parse error: Expected group after '_' at position 147: …nchmark/newData_̲OPTARG
./hdfs-shell.sh fs -put /home/benchmark/newData_KaTeX parse error: Expected group after '_' at position 64: …chmark//newData_̲OPTARG"

2.数据上传:

bash start.sh load x

注意:在我们测试的平台上,impala shell用$dqe代替。
3.数据查询:
bash start.sh query x

4.kudu表的清空:
说明:在外部表和kudu表建立联系时候(导入),我们使用的是一个文件一个文件导入的,否则总会报错。但是也不能保证这样不会出错,一旦报错,需要执行:bash start.sh delete x用以清空kudu表里面载入的数据。再重新执行:bash start.sh load x

结果上来看

针对较大规模数据 (100G),Hive的导入性能在行数较少的表上面依然表现微弱的优势,但是针对行数超过千万量级数据表时,Kudu的导入性能具有巨大的优势,针对 Store_sales导入时间仅为Hive的十分之一。
针对较大规模的数据 (100G),Kudu的查询性能有较大的优势, 而针对小规模数据 (10G)Hive和 Kudu具有类似的查询效果

你可能感兴趣的:(bigdata)