机房360首页
当前位置:首页 » 数据中心资讯 » Hadoop发行版厂商星环发布TPC-DS评测结果

Hadoop发行版厂商星环发布TPC-DS评测结果

来源:企业网D1Net 作者:yuxin编辑 更新时间:2014-11-5 11:36:21

摘要:大数据基础技术领域中Hadoop的地位已获得广泛认同,但目前国内外市场上的Hadoop版本也是林林总总,到底该参照什么标准来考评Hadoop,尤其是给企业应用的Hadoop发行版平台呢?

  大家可能都听说过TPC – Transaction Processing Performance Council,它是一个非赢利的标准化组织。它定义了多组标准测试集用于客观地/可重现地评测数据库的性能。TPC中有个Decision Support(DS)子集,即TPC-DS,是用于评测决策支持系统(或数据仓库)的标准SQL测试集。这个测试集包含对大数据集的统计/报表生成/联机查询/数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。

  TPC-DS的这个特点跟大数据的分析挖掘应用非常类似。Hadoop等大数据分析技术也是对海量数据进行大规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的最佳测试集。随着国内外各代表性的Hadoop发行版厂商以TPC-DS为标准测评产品,TPC-DS也就逐渐成为了业界公认的Hadoop系统测试准则。这个基准测试有以下几个主要特点:

  ●一共99个测试案例,遵循SQL'99和SQL 2003的语法标准,SQL案例比较复杂

  ●分析的数据量大,并且测试案例是在回答真实的商业问题

  ●测试案例中包含各种业务模型(如分析报告型,迭代式的联机分析型,数据挖掘型等)

  ●几乎所有的测试案例都有很高的IO负载和CPU计算需求

  这个基准测试的完整信息请参考http://www.tpc.org/tpcds/。

  为了使大家进一步了解星环Hadoop发行版的性能,我们选取了国外具代表性的厂商Cloudera及其产品(Cloudera Impala)做对比测试。

  测试硬件环境

  我们搭建了两个集群分别用于Transwarp Inceptor与Cloudera Impala的测试。每个集群采用4台普通两路x86服务器搭建,每台服务器硬件配置如下:

 

  我们使用的操作系统是64位的CentOS 6.4,Linux Kernel版本号为2.6.32。Transwarp Inceptor集群部署了Transwarp Data Hub (TDH) v3.4,包括基准的Hadoop 2.2以及Inceptor。系统配置方面,每台服务器的6块硬盘中有1块用于操作系统,其他5块硬盘用作HDFS。Hadoop的各种服务的配置如下:

 

  相对应地,我们在Cloudera的集群中安装了CDH 5.1.3(包含Hadoop 2.3)以及Impala 1.4。

  测试软件设定

  TPC-DS配置

  考虑到磁盘的容量和HDFS的存储复制模式,我们选择的是500GB的数据总量。SQL测试案例的选择上,在Cloudera Impala中使用的是由Cloudera改动过的TPC-DS测试子集,在Transwarp Inceptor我们选用的是TPC-DS为MySQL生成的测试集合,保留了原有的各种复杂SQL,因此能够客观反映出Inceptor在SQL支持上的情况。

  Cloudera Impala测试集合可参考https://github.com/cloudera/impala-tpcds-kit。

 

  Hadoop版本

  Transwarp Data Hub (TDH) v3.4使用的是Hadoop2.2 版本,而ClouderaCDH 5.1.3使用的是Hadoop 2.3。HDFS 2.3增加了一些新的功能如DataNode Cache,因此能够更有效地减少磁盘读写。TDH下个版本会升级到Hadoop 2.3,届时我们会再次测试以权衡出HDFS的版本升级带来的性能提升情况。

  TranswarpTDH和ClouderaCDH都是用YARN作为资源调度组件,版本号分别为2.2 和2.3,但是考虑到YARN这两个版本间没有大的性能相关功能,可以认为资源调度方面没有差异。

  其他组件没有太多的差异性,因此可以不考虑他们对最终的测试结果产生的影响。

 

  数据存储格式

  Transwarp Inceptor可以支持基于内存和SSD的数据表作为数据输入,也支持ORC和Text文件格式。考虑到Cloudera Impala只支持磁盘表,为了公正测试,我们使用Inceptor的磁盘表ORC格式和Impala的Parquet 格式做数据对比。另外,我们没有Cloudera Impala的详细资料,因此没有任何额外的参数设置和调优工作,只是使用默认的参数完成Impala的测试。

  测试方法

  为了保证数据的合理性,我们所有的性能测试数据都是每个测试案例完成三次运行后取的平均值。同时为了避免系统内部缓存对结果的影响,我们的测试不是连续将同一个测试SQL执行3次,而是连续执行完整个测试集合后再执行下一轮的测试集合。

  建表与数据分区

  Transwarp Inceptor支持两种分区方式:基于单一值的分区方式(unique value partition)和区间分区方式(range partition)。考虑到TPC-DS基准测试的时间跨度包含十几年的数据,我们选择按照日期相关的列做区间分区(range partition)。大的事实表都采用这种分区策略,包括:store_sales, store_returns, catalog_sales, catalog_returns, web_sales, web_returns, inventory。另外所有的维度表不做任何的分区设定。原始TEXT格式的数据总量为~490GB,转成ORC格式后压缩成~150GB。

  Cloudera Impala使用修改版的测试案例,SQL集合中只包含一张事实表(store_sales)和9个维度表,生成的TEXT格式数据大小约130GB,实际导入的压缩的parquet文件总数据量只有50GB。

 

  测试结果

  测试案例支持广度

 

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2014115/n042562801.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
更多
推荐图片