在TPC-DS基准测试中CDP数据仓库的性能比EMR快3倍

发布日期:2020-12-30 09:51
微信图片_20201229132720
亚马逊最近宣布了其最新的EMR版本6.1.0,支持ACID事务。该基准测试是在EMR 6.0版上运行的,因为我们无法使查询在6.1.0版本上成功运行。
尽管这两种服务都由开源Apache Hive-LLAP的相同版本提供支持,但基准测试结果清楚地表明CDW更适合使用LLAP来提供最佳性能: 
  1. CDW运行TPC-DS基准测试套件的速度是EMR的3倍以上,分别是3小时和11小时(见图1)。
  2. CDW上的查询平均比EMR上的查询运行速度快5倍,从而提供了总体上更快的响应时间(见图2)。
  3. 基准测试在CDW上取得了100%的成功。相反,EMR在运行query72的问题上运行了10多个小时。 
您可以在此处找到所有基准脚本来设置和运行10TB规模的TPC-DS 。此外,可以在此处找到用于基准测试的脚本和EMR集群配置。CDW是针对Cloudera数据平台(CDP)的分析产品。您可以使用此处的脚本在Amazon上轻松设置CDP 。

基准配置
在CDW上,当您根据数据目录(表和视图的目录)配置虚拟仓库时,平台将提供经过完全调优的LLAP工作节点,以准备运行您的查询。不需要额外的设置或配置步骤即可运行基准测试。基准测试运行完成后,如果未检测到其他活动,虚拟仓库将自动挂起。对于基准测试,我们选择了10个节点集群的“小型”虚拟仓库大小。
在EMR上,我们启用了10个具有与CDW相同节点类型的工作程序,以进行类似的比较,其中100%的容量专用于LLAP。
S3上存储的TPC-DS 10TB数据集以CDW的ACID ORC格式和EMR 6.0的非ACID ORC格式生成。 


Cloudera数据仓库与EMR
对于基准测试,我们对每个查询执行了两次运行,并选择了运行时间最少的运行。多次运行同一查询使我们能够使用前一次运行在SSD上缓存的数据来衡量性能。然后,通过汇总所有98个查询的运行时间来计算总运行时间。 
如下图所示,CDW在整个运行时间中的性能比EMR高出3倍,其中CDW在大约3小时(11,386秒)内完成了基准测试,而EMR则为11小时(41,273秒)。

性能上的差异不仅限于少数查询。我们发现60%的基准测试CDW的查询性能提高从2倍到160倍,平均每次查询速度提高了7.8倍

EMR 6.1.0的问题
我们最初计划使用EMR 6.1.0运行该基准测试,因为它支持ACID ORC格式。但是,由于bigTableByteColumnVectorVectors(org.apache.hadoop.hive.ql.exec.vector.mapjoin.VectorMapJoinInnerBigOnlyLongOperator)中的序列化异常,我们无法通过表连接获得任何查询以成功运行。 
解决此问题的方法是禁用向量化,但是在此设置下性能下降非常严重,以至于我们不得不放弃使用此版本运行的基准测试。

结论
CDW使用市场上最新、最优化的Hive引擎,由Apache Hive LLAP项目的先驱贡献者构建和支持,并立即提供了Cloudera在调整其性能平台方面的全部知识和经验。企业无需花费大量时间和精力来调整性能分析,而是可以直接关注最重要的事情:从数据中获取洞察力和价值。 
除了提供更好的性能外,CDW还提供类似于SaaS的体验来无缝管理您的数据生命周期需求。CDW可以在高度优化的Kubernetes引擎上运行,可以根据实际查询工作负载快速自动缩放,从而提供对云(公共和私有)资源和预算的最佳利用。最后,CDP与其他数据生命周期服务(数据工程,机器学习和数据中心)一起在CDP中提供。CDP通过其通用的共享数据体验(SDX)模块,确保所有服务之间的端到端安全性,治理和元数据管理始终如一。
分享到:
推荐精彩博文