写点什么

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:007412
用户头像

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

关注

评论

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

【Flutter 专题】17 图解 ListView 下拉刷新与上拉加载 (二)【NotificationListener】

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

程序员你所害怕的中年危机,恰恰是人生的转机!,kotlin高阶函数源码讲解

android 程序员 移动开发

程序员别只顾着敲代码了,老板们不喜欢聘请40岁程序员真相原来是

android 程序员 移动开发

SAP云平台里Global Account和Sub Account的关系

汪子熙

Cloud SAP CloudFoundry 11月日更

绝佳的录屏编辑神器,一款走遍天下!!

淋雨

Camtasia

thanos-io/thanos-CONTRIBUTING.md

卓丁

Prometheus Thanos thanos.io Contributing github Contributing

《Linux一学就会》第一章第二节:学习环境搭建

侠盗安全

Linux linux运维 云计算架构师 linux电子书

【死磕Java并发】—–深入分析volatile的实现原理

chenssy

11月日更 死磕 Java 死磕 Java 并发

Redis 高可用篇:图解 Redis 哨兵集群原理

码哥字节

redis redis sentinel NoSQL 数据库 11月日更

软件测试高效学习方法

程序员阿沐

学习方法 程序员 互联网 软件测试 计算机

iOS开发:报错‘Unknown class ViewController in Interface Builder file’解决方法

三掌柜

11月日更

重置云服务器系统

坚果

云服务器 11月日更

前端开发工具之Mock.js

Augus

11月日更

记录渗透靶场实战【网络安全】

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

与德勤论道企业数字化战略到落地

大咖说

云计算 数字化转型 数字化 企业上云 阿里云;

腾讯云数据库TDSQL已助力20余家金融机构完成核心系统替换 即将进入规模化复制阶段

科技热闻

架构实战营-模块三

瓜子葫芦侠

「架构实战营」

【高并发】明明中断了线程,却为何不起作用呢?

冰河

并发编程 多线程 高并发 异步编程 Java Concurrency

Groovy中的元组

FunTester

测试开发 元组 Groovy FunTester tuple

构建数据网格分布式架构的四项原则

俞凡

架构 数据

架构实战营-模块6作业

Nullrable

架构实战营

MacBook 搭建VUE3开发环境

IT蜗壳-Tango

11月日更

值得收藏的 Eureka 控制台详解

悟空聊架构

Eureka 源码解析 注册中心 悟空聊架构 11月日更

【设计模式】第十二篇 - 桥接模式 - 露娜的召唤师技能

Brave

设计模式 桥接模式 11月日更

Vue进阶(幺陆柒):Vue 项目调试技能

No Silver Bullet

Vue 11月日更

思科基本网络连接与IOS的基本操作 「网络工程师之路」

Regan Yue

网络工程师 11月日更 思科 网络工程

rabbitmq简介

小鲍侃java

11月日更

程序员为什么越老贬值的越厉害?,面试官6个灵魂拷问

android 程序员 移动开发

使用Eclipse开发Java应用并部署到SAP云平台SCP上去

汪子熙

Cloud SAP 11月日更 sap开发

老友(研发岗)被裁后,想加盟小吃店,我用Python采集了一点数据,多少是个心意

梦想橡皮擦

11月日更

架构实战营-设计消息队列存储消息数据的 MySQL 表格

Nullrable

架构实战

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