大数据课程,一门看似很专业实际很复杂的学科,备受追捧。因为大数据的就业前景真的很诱惑人,单单是就业薪资就能让人趋之若鹜。今天大数据讲师给大家分享的技术知识是大数据入门课程之Hadoop和spark的性能比较。
曾经看过一个非常有趣的比喻,Hadoop是一家大型包工队,可以组织一大堆人合作(HDFS)搬砖盖房(用MapReduce),但是速度比较慢。
Spark是另一家包工队,虽然成立得晚一些,但是他们搬砖很快很灵活,可以实时交互地盖房子,比Hadoop快得多。
Hadoop开始升级,指定调度专家YARN调度工人。Spark从多个仓库搬砖(HDFS,Cassandra,S3,HBase),还允许不同专家如YARN/ MESOS对人员和任务进行调度。
当然,他们两家并不是水火不容。Spark经常和Hadoop团队合作,这让问题变得更加复杂。不管怎么说,Spark和Hadoop都是两个独立的包工队,都有着各自的优缺点和特定的业务用例。
Hadoop和spark的性能比较
Spark在内存中运行速度比Hadoop快100倍,在磁盘上运行速度快10倍。众所周知,Spark在数量只有十分之一的机器上,对100TB数据进行排序的速度比Hadoop MapReduce快3倍。此外,Spark在机器学习应用中的速度同样更快,例如Naive Bayes和k-means。
由处理速度衡量的Spark性能之所以比Hadoop更优,原因如下:
1、每次运行MapReduce任务时,Spark都不会受到输入输出的限制。事实证明,应用程序的速度要快得多。
2、Spark的DAG可以在各个步骤之间进行优化。Hadoop在MapReduce步骤之间没有任何周期性连接,这意味着在该级别不会发生性能调整。
但是,如果Spark与其他共享服务在YARN上运行,则性能可能会降低并导致RAM开销内存泄漏。出于这个原因,如果用户有批处理的诉求,Hadoop被认为是更高效的系统。
文章写到这也该结束了,如果你对这篇文章感到意犹未尽,对大数据感兴趣,欢迎大家一起交流学习。
网友评论