工程的博客

Apache Spark正式创造了大规模排序的新记录

通过雷诺鑫

2014年11月5日 工程的博客

分享这篇文章

一个月前,我们与您分享了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的支持。

免费试用Databricks
看到所有工程的博客的帖子