“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

Spark 和 Hadoop,孰优孰劣?

  • 2015-11-30
  • 本文字数:1175 字

    阅读完需:约 4 分钟

Spark 已经取代 Hadoop 成为最活跃的开源大数据项目。但是,在选择大数据框架时,企业不能因此就厚此薄彼。近日,著名大数据专家 Bernard Marr 在一篇文章中分析了Spark 和Hadoop 的异同。

Hadoop 和 Spark 均是大数据框架,都提供了一些执行常见大数据任务的工具。但确切地说,它们所执行的任务并不相同,彼此也并不排斥。虽然在特定的情况下,Spark 据称要比 Hadoop 快 100 倍,但它本身没有一个分布式存储系统。而分布式存储是如今许多大数据项目的基础。它可以将 PB 级的数据集存储在几乎无限数量的普通计算机的硬盘上,并提供了良好的可扩展性,只需要随着数据集的增大增加硬盘。因此,Spark 需要一个第三方的分布式存储。也正是因为这个原因,许多大数据项目都将 Spark 安装在 Hadoop 之上。这样,Spark 的高级分析应用程序就可以使用存储在 HDFS 中的数据了。

与 Hadoop 相比,Spark 真正的优势在于速度。Spark 的大部分操作都是在内存中,而 Hadoop 的 MapReduce 系统会在每次操作之后将所有数据写回到物理存储介质上。这是为了确保在出现问题时能够完全恢复,但 Spark 的弹性分布式数据存储也能实现这一点。

重要通知:接下来 InfoQ 将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注 InfoQ 微信公众号第一时间阅读精品内容。

另外,在高级数据处理(如实时流处理和机器学习)方面,Spark 的功能要胜过 Hadoop。在 Bernard 看来,这一点连同其速度优势是 Spark 越来越受欢迎的真正原因。实时处理意味着可以在数据捕获的瞬间将其提交给分析型应用程序,并立即获得反馈。在各种各样的大数据应用程序中,这种处理的用途越来越多,比如,零售商使用的推荐引擎、制造业中的工业机械性能监控。Spark 平台的速度和流数据处理能力也非常适合机器学习算法。这类算法可以自我学习和改进,直到找到问题的理想解决方案。这种技术是最先进制造系统(如预测零件何时损坏)和无人驾驶汽车的核心。Spark 有自己的机器学习库 MLib ,而 Hadoop 系统则需要借助第三方机器学习库,如 Apache Mahout

实际上,虽然 Spark 和 Hadoop 存在一些功能上的重叠,但它们都不是商业产品,并不存在真正的竞争关系,而通过为这类免费系统提供技术支持赢利的公司往往同时提供两种服务。例如,Cloudera 就既提供 Spark 服务也提供 Hadoop 服务,并会根据客户的需要提供最合适的建议。

Bernard 认为,虽然 Spark 发展迅速,但它尚处于起步阶段,安全和技术支持基础设施方还不发达。在他看来,Spark 在开源社区活跃度的上升,表明企业用户正在寻找已存储数据的创新用法。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015-11-30 18:006808
用户头像

发布了 1008 篇内容, 共 372.1 次阅读, 收获喜欢 340 次。

关注

评论

发布
暂无评论
发现更多内容

站在工作的角度体验一下文心一言

IT蜗壳-Tango

IT蜗壳 ChatGPT 文心一言 文心一言测试

「百幄」系列 | 在线会议套件,让政企协作更安全高效

融云 RongCloud

通信 办公 政企 数智化转型 在线会议

CPU基础知识详解

timerring

cpu

如何把握未来技术的演进方向

Ethan

软件测试/测试开发丨持续交付-Jenkinsfile 语法

测试人

软件测试 自动化测试 测试开发

手把手带你上手ChatGPT

老周聊架构

3月月更 ChatGPT

实现常驻任务除了避免昙花线程,还需要避免重返线程池

newbe36524

C#

软件测试/测试开发丨持续交付-Blue Ocean 应用

测试人

软件测试 自动化测试 测试开发

Bytebase 体验官之狂飙的 ChatGPT

朱亚光

软件测试/测试开发丨MockServer 服务框架设计

测试人

软件测试 自动化测试 测试开发

系统设计的端到端原则

俞凡

架构

运维训练营第19周作业

好吃不贵

交易履约之产品中心实践

京东科技开发者

交易 京东云 京东技术 京东科技 产品中心

希望计算机专业同学都知道这些宝藏博主

程序员大彬

自学编程 计算机 计算机专业

利用 ChangeStream 实现 Amazon DocumentDB 表级别容灾复制

亚马逊云科技 (Amazon Web Services)

软件测试/测试开发丨持续交付-Pipeline入门

测试人

软件测试 自动化测试 测试开发

AR市场为何频频“呼唤”苹果?

Alter

AR

如何实现云数据治理中的数据安全?

京东科技开发者

数据库 云计算 京东云 京东技术

作为移动开发你不能不了解的编译流程

京东科技开发者

编译器 移动开发 京东云 京东技术

测试人社区软件测试技术沙龙,基于代码链路分析的白盒精准测试方案

测试人

软件测试 自动化测试 精准测试 测试开发

CMS系统是什么?

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

常用对话框基本使用

攻城狮Wayne

dialog timepicker progress

开源可观测性平台SigNoz

骑牛上青山

开源 调用链 OpenTelemetry signoz

架构实战营 - 模块五作业(微博评论)

🐢先生

架构实战营

人工智能与软件工程

紫晖

人工智能 机器学习 软件工程 工程

什么是容器编排及编排的优点

黎博

容器编排 Kubernetes Serverless

python中进程、线程、协程的实践

阿呆

Java泛型介绍

TaurusCode

Java泛型

能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork

沙漠尽头的狼

开源WPF项目 网络拓扑图

中台的悖论

agnostic

中台

在京东如何做好前端系统的可观测性

京东科技开发者

前端 京东云 京东技术

Spark和Hadoop,孰优孰劣?_大数据_谢丽_InfoQ精选文章