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

在大数据处理领域,Hadoop和Spark是两个重要的框架。Spark在性能上优于Hadoop,尤其在内存处理中表现出色,适合实时分析。然而,Hadoop在批量处理和安全性上更有优势,且成本更低。Spark的安全性正在发展中,而Hadoop具有成熟的安全功能。两者各有优势,具体选择取决于项目需求。Facebook从Hive转向Spark以提高数据管理效率。Hadoop和Spark可以协同工作,如Spark利用HDFS进行数据存储,与Hive结合解决业务问题。优步同时使用两者处理大规模的消费者数据。
摘要由CSDN通过智能技术生成

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

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

 

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

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

性能

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

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

 

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

但是,如果Spark和其他共享服务在YARN上运行,已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击则其性能可能会降低。这可能导致RAM开销内存泄漏。另一方面,Hadoop轻松处理这个问题。如果用户倾向于批量处理,Hadoop比Spark更有效。

Hadoop和Spark都有不同的处理方式。因此,它完全取决于项目的需求,是否在Hadoop和Spark性能战中继续使用Hadoop或Spark。

Facebook及其与Spark框架的过渡之旅

Facebook上的数据每过一秒就会增加。为了处理这些数据并使用它来做出明智的决定,Facebook使用分析。为此,它使用了许多平台,如下所示:

  • Hive平台执行Facebook的一些批量分析。
  • 用于自定义MapReduce实现的Corona平台。
  • 基于ANSI-SQL的查询的Presto足迹。

上面讨论的Hive平台在计算上是“资源密集型的”。所以,维持这是一个巨大的挑战。因此,Facebook决定切换到Apache Spark框架来管理他们的数据。今天,Facebook已经通过集成Spark为实体排名系统部署了一条更快的可管理管道。

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

 

安全

Spark的安全性仍在不断发展,因为它目前只支持通过共享密钥进行身份验证(密码身份验证)。甚至Apache Spark的官方网站声称,“存在许多不同类型的安全问题。Spark并不一定能防范所有事情。“

另一方面,Hadoop具有以下安全功能:Hadoop身份验证,Hadoop授权,Hadoop审计和Hadoop加密。所有这些都与Knox Gateway和Sentry等Hadoop安全项目集成在一起。

一句话:在Hadoop vs Spark Security的战斗中,Spark比Hadoop安全一点。但是,在将Spark与Hadoop集成时,Spark可以使用Hadoop的安全功能。

成本

首先,Hadoop和Spark都是开源框架,因此免费提供。两者都使用商用服务器,在云上运行,似乎有一些类似的硬件要求:

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

 

那么,如何根据成本对它们进行评估呢?

请注意,Spark利用大量RAM来运行内存中的所有内容。鉴于RAM的价格高于硬盘,这可能会影响成本。

另一方面,Hadoop受磁盘限制。因此,您购买昂贵RAM的成本得以节省。但是,Hadoop需要更多系统来分发磁盘I / O.

因此,在比较Spark和Hadoop框架的成本参数时,组织将不得不考虑他们的要求。

如果需求倾向于处理大量的大型历史数据,Hadoop是继续选择的选择,因为硬盘空间的价格远低于内存空间。

另一方面,当我们处理实时数据选项时,Spark可以具有成本效益,因为它使用较少的硬件以更快的速度执行相同的任务。

结论:在Hadoop与Spark成本之争中,Hadoop肯定会降低成本,但当组织必须处理较少量的实时数据时,Spark才具有成本效益。

便于使用

Spark框架的最大USP之一是其易用性。Spark为Scala Java,Python和Spark SQL(也称为Shark)提供了用户友好且舒适的API。

Spark的简单构建块使编写用户定义的函数变得容易。此外,由于Spark允许批处理和机器学习,因此简化数据处理的基础设施变得容易。它甚至包括一个交互模式,用于运行具有即时反馈的命令。

Hadoop是用Java编写的,并且在为没有交互模式编写程序的困难铺平道路方面声名狼借。虽然Pig(附加工具)使编程更容易,但是需要一些时间来学习语法。

结论:在'易用性'Hadoop vs Spark之战中,他们都有自己的方式让自己对用户友好。但是,如果我们必须选择一个,Spark更容易编程并包含交互模式。

Apache Hadoop和Spark有可能建立协同关系吗?

是的,这是非常可能的,我们推荐它。让我们深入了解它们如何协同工作。

Apache Hadoop生态系统包括HDFS,Apache Query和HIVE。让我们看看Apache Spark如何利用它们。

Apache Spark和HDFS的融合

Apache Spark的目的是处理数据。但是,为了处理数据,引擎需要从存储器输入数据。为此,Spark使用HDFS。(这不是唯一的选择,但是最受欢迎的选择,因为Apache是​​两者背后的大脑)。

Apache Hive和Apache Spark的混合体

Apache Spark和Apache Hive高度兼容,它们可以解决许多业务问题。

例如,假设企业正在分析消费者行为。现在,为此,该公司将需要从各种来源收集数据,如社交媒体,评论,点击流数据,客户移动应用程序等等。

组织可以利用HDFS存储数据,Apache hive作为HDFS和Spark之间的桥梁。

优步及其合并方法

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

 

优步使用Spark和Hadoop

为了处理消费者数据,优步使用了Spark和Hadoop的组合。它使用实时交通情况在特定时间和地点提供驾驶员。为了实现这一目标,优步使用HDFS将原始数据上传到Hive和Spark,以处理数十亿个事件。

虽然Spark快速且易于使用,但Hadoop具有强大的安全性,庞大的存储容量和低成本的批处理功能。选择一个中的一个完全取决于您的项目的要求。两者的结合将产生一种无敌的组合。

混合Spark的一些属性和一些Hadoop来提出一个全新的框架:Spoop。

本文主要讨论 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、付费专栏及课程。

余额充值