Apache Spark正式创造了大规模排序的新记录
一个月前,我们与您分享了2014年灰色排序竞赛的参赛作品,这是一个第三方基准测试系统对100tb数据(1万亿条记录)进行排序的速度。今天,我们很高兴地宣布,我们的参赛作品已经通过了基准委员会的审查,我们正式赢得了代托纳灰色排序大赛!
以防你错过了我们的之前的博客文章在206台EC2机器上使用Spark,我们在23分钟内对磁盘上的100tb数据进行了排序。相比之下,之前由Hadoop MapReduce创造的世界纪录使用了2100台机器,耗时72分钟。这意味着Apache Spark对相同的数据进行排序快3倍使用少了10倍的机器.所有排序都发生在磁盘上(HDFS),而不使用Spark的内存缓存。这个条目与UCSD研究团队一起构建高性能系统,我们共同创造了一项新的世界纪录。
Hadoop先生 记录 |
火花 记录 |
火花 1 PB |
|
---|---|---|---|
数据大小 | 102.5结核病 | 100年结核病 | 1000年结核病 |
运行时间 | 72分钟 | 23分钟 | 234分钟 |
#节点 | 2100 | 206 | 190 |
#核 | 50400年物理 | 6592年虚拟化 | 6080年虚拟化 |
集群磁盘吞吐量 | 3150 GB / s (美国东部时间)。 |
618 GB / s | 570 GB / s |
排序基准代托纳规则 | 是的 | 是的 | 没有 |
网络 | 专用数据中心,10Gbps | 虚拟化(EC2) 10Gbps网络 | 虚拟化(EC2) 10Gbps网络 |
这种速度 | 1.42 TB /分钟 | 4.27 TB /分钟 | 4.27 TB /分钟 |
排序率/节点 | 0.67 GB /分钟 | 20.7 GB /分钟 | 22.5 GB /分钟 |
该基准工作负载以Jim Gray的名字命名,无论以何种标准衡量,它都是资源密集型的:按照严格的规则对100tb数据进行排序,将产生500tb磁盘I/O和200tb网络I/O。来自世界各地的组织经常构建专用的排序机(专门的软件,有时是专门的硬件)来在这个基准测试中竞争。
作为一个通用的容错系统赢得这个基准测试标志着Spark项目的一个重要里程碑。这表明Spark正在履行其承诺,为从gb到tb到PBs的所有大小的数据处理提供更快、更可扩展的引擎。此外,它还验证了我们和其他人在过去几年里为Spark所做的贡献。
自Databricks成立以来,我们一直致力于提高Spark的可扩展性、稳定性和性能。这个基准测试建立在我们最近在Spark中的一些主要工作之上,包括基于排序的shuffle (火星- 2045),新的基于netty的传输模块(火星- 2468),以及外部shuffle服务(火星- 3796).前者已经在Apache Spark 1.1中发布,后两者将在即将发布的Apache Spark 1.2中发布。
你可以阅读我们之前的博客了解更BOB低频彩多关于我们的获奖作品。关于这些主要的Spark新特性,我们也可以期待未来的博客文章。
最后,我们感谢Amazon Web Services的Aaron Davidson、Norman Maurer、Andrew Wang、Min Zhou、EC2和EBS团队以及Spark社区一路以来的帮助。我们也感谢基准委员会成员Chris Nyberg、Mehul Shah和Naga Govindaraju的支持。