|
Hadoop发行版厂商星环发布TPC-DS评测结果大数据基础技术领域中Hadoop的地位已获得广泛认同,但目前国内外市场上的Hadoop版本也是林林总总,到底该参照什么标准来考评Hadoop,尤其是给企业应用的Hadoop发行版平台呢? 建表与数据分区 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。 测试结果 测试案例支持广度 Transwarp Inceptor可以支持99个测试案例中的72个测试SQL,并且没有SQL会出现运行错误。在Inceptor 4.0版本中,我们会加入更多的SQL支持,如Intersect/Except Operator,多层级的correlated subquery等,SQL的支持度将会进一步提高。 下表是TPC-DS官方标准测试集合要求的主要SQL语法功能,以及Transwarp Inceptor和Cloudera Impala的支持情况: 由于Cloudera Impala的SQL语法支持非常有限,在Cloudera发布的测试集合中的20个SQL,只有6个是官方正式发布的版本。另外所有SQL中都只有一个事实表,没有出现多个事实表的案例。在TPC-DS的标准测试集合中,一共有39个测试案例是多个事实表之间的连接,而这些案例全部不在Cloudera Impala的测试集合中。此外所有的SQL中事实表都被加上了一个partition key的过滤条件,因此Cloudera的测试有些不够严谨。 与之相对应的,Transwarp Inceptor原生支持窗口统计函数和多维度GROUP BY统计,另外有Cost based optimizer来实时的生成过滤条件,选择更佳的表连接顺序,挑选更合适的表连接算法等,所以能够有效的支持这些标准的SQL测试案例。 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
热门博文 |
|