Hadoop与 Spark - 选择正确的大数据框架

本文对比了Hadoop和Spark两个大数据框架在性能、安全、成本和易用性方面的特点。Spark在内存处理中表现出色,适合实时分析,而Hadoop在批量处理和安全性上有优势。同时,文章提到Spark与Hadoop可以融合使用,如Apache Spark与HDFS、Hive的集成,以及优步如何结合两者处理大数据。选择框架取决于项目需求。
摘要由CSDN通过智能技术生成

我们被各方的数据所包围。随着数据每两年增加一倍,数字世界正在快速追逐物理世界。据估计,到2020年,数字宇宙将达到44个zettabytes - 与宇宙中的恒星一样多的数字位。

 

数据正在增加,我们不会很快摆脱它。为了消化所有这些数据,市场上有越来越多的分布式系统。在这些系统中,Hadoop和Spark经常作为直接竞争对手相互竞争。

在决定这两个框架中哪一个适合您时,根据几个基本参数对它们进行比较非常重要。

性能

Spark非常闪电,并且发现它的性能优于Hadoop框架。它在内存中的运行速度提高了100倍,在磁盘上运行速度提高了 10倍。此外,我们发现,它使用10倍的机器,比使用Hadoop快3倍的数据排序100 TB。

 

Spark是如此之快,因为它处理内存中的所有内容。得益于Spark的内存处理,它可以为来自营销活动,物联网传感器,机器学习和社交媒体网站的数据提供实时分析。

但是,如果Spark和其他共享服务在YARN上运行,则其性能可能会降低。这可能导致RAM开销内存泄漏。另一方面,Hadoop轻松处理这个问题。如果用户倾向于批量处理,Hadoop比Spark更有效。

本文主要讨论 Apache Spark 的设计与实现,重点关注其设计思想、运行原理、实现架构及性能调优,附带讨论与 Hadoop MapReduce 在设计与实现上的区别。不喜欢将该文档称之为“源码分析”,因为本文的主要目的不是去解读实现代码,而是尽量有逻辑地,从设计与实现原理的角度,来理解 job 从产生到执行完成的整个过程,进而去理解整个系统。 讨论系统的设计与实现有很多方法,本文选择 问题驱动 的方式,一开始引入问题,然后分问题逐步深入。从一个典型的 job 例子入手,逐渐讨论 job 生成及执行过程中所需要的系统功能支持,然后有选择地深入讨论一些功能模块的设计原理与实现方式。也许这样的方式比一开始就分模块讨论更有主线。 本文档面向的是希望对 Spark 设计与实现机制,以及大数据分布式处理框架深入了解的 Geeks。 因为 Spark 社区很活跃,更新速度很快,本文档也会尽量保持同步,文档号的命名与 Spark 版本一致,只是多了一位,最后一位表示文档的版本号。 由于技术水平、实验条件、经验等限制,当前只讨论 Spark core standalone 版本中的核心功能,而不是全部功能。诚邀各位小伙伴们加入进来,丰富和完善文档。 好久没有写这么完整的文档了,上次写还是三年前在学 Ng 的 ML 课程的时候,当年好有激情啊。这次的撰写花了 20+ days,从暑假写到现在,大部分时间花在 debug、画图和琢磨怎么写上,希望文档能对大家和自己都有所帮助。 内容 本文档首先讨论 job 如何生成,然后讨论怎么执行,最后讨论系统相关的功能特性。具体内容如下: Overview 总体介绍 Job logical plan 介绍 job 的逻辑执行图(数据依赖图) Job physical plan 介绍 job 的物理执行图 Shuffle details 介绍 shuffle 过程 Architecture 介绍系统模块如何协调完成整个 job 的执行 Cache and Checkpoint 介绍 cache 和 checkpoint 功能 Broadcast 介绍 broadcast 功能 Job Scheduling
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值