Impala/Presto/ES/kudu/Parquet TPC_DS基准测试

使用Impala/Presto/ES/kudu/Parquet基准测试

目的

本测试报告为调研OLAP性能测试报告,目的在于总结调研的几个存储查询方案的可用性。

背景

考虑到数据量的的增多以及用户并发操作给服务器造成压力,因此对kudu、parquet、presto、Es 等进行存储及查询的性能测试,在系统配置不变的情况下,观察各计算引擎的的操作耗时表现,便于对正确的进行技术选型与评估。

 

环境准备

本次测试方案的硬件环境使用三台物理机,系统为centos7,基础配置信息如下表:

服务器 cpu核数 内存大小 磁盘空间
server1 40 192g 3.6T
server2 40 192g 3.6T
server3 40 192g 3.6T

本次测试搭建的大数据环境为CDH6.3.2,所有组件都采用分布式搭建于三台服务器。

 

impala + kudu Vs impala + parquet

 

TPC-DS 介绍

TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张维度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。

TPC-DS支持指定不同的数据大小。本次测试选择的数据大小分别为100GB、1TB。数据大小与表rows的关系如下图所示。

 

测试步骤

1.安装TPC-DS工具并生成测试数据dat文件和查询语句。

2.在HDFS新建目录,将测试数据dat文件上传到HDFS中。

3.将TPC-DS提供的Kudu/parquet DDL语句做语法兼容改造。

4.准备impala外部表DDL。

5.执行kudu/parquet内部表ddl,将impala外部表数据导入到kudu/parquet内部表,调用统计分析SQL

6.整理TPC-DS提供的SQL基准查询语句,由于有些语法不兼容kudu/parquet,需要进行手动调整,最后整理到单独SQL文件中,最后调整出79个可兼容sql。

7.执行手动调整过后的TPC—DS的SQL基准查询。

8.收集执行结果信息到result目录查看,具体的SQL文件执行日志在logs目录查看。

测试结果

 

首先我们比较一下1T 下impala on kudu 和impala on parquet的性能

 

再对比下 1T 数据的时间对比

 

     如图所示,单从查询来看,kudu的性能和parquet差距不是特别大,但是阅读网络上的一些对两者的性能评测的文章,很多评测性能更倾向于parquet 。 其实不难分析,创建kudu 表前提是必须对分区初始化和创建主键,而tpc-ds 的数据分布对parquet 而言,那些当作

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野狼e族

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值