写点什么

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

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

关注

评论

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

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之EXCEL数据导出(十三)

crudapi

Vue crud crudapi qusar 数据导出

Spring @Transactional 注解事务

Rubble

springboot 8月日更

API纠错+翻译,就等您大展身手!

Geek_6cdeb6

源码级深挖AQS队列同步器

码农参上

AQS 锁机制 8月日更

Vue进阶(二十八):浅析 Vue 中 computed 与 method 区别

No Silver Bullet

Vue 8月日更 computed

LeetCode题解:783. 二叉搜索树节点最小距离,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

云小课 | 网络知识一箩筐——NAT网关,让IP地址华丽变身,轻松实现内外网互通

华为云开发者联盟

私网NAT网关 NAT网关 公网NAT网关

FastApi-10-Example

Python研究所

FastApi 8月日更

如何评价《Java 并发编程艺术》这本书?

书籍推荐 java 并发

跟我读论文丨ACL2021 NER 模块化交互网络用于命名实体识别

华为云开发者联盟

自然语言处理 机器学习 ACL2021 NER 模块化交互网络 实体识别

从0开始的TypeScriptの六:webpack5热更新打包TS

空城机

JavaScript typescript 大前端 8月日更

手撸二叉树之二叉树的最近公共祖先

HelloWorld杰少

数据结构与算法 8月日更

【LeetCode】二叉树的镜像Java题解

Albert

算法 LeetCode 8月日更

oeasy教您玩转vim - 15 - # 行内查找

o

netty系列之:文本聊天室

程序那些事

Java Netty nio 程序那些事

Apache Pulsar 里程碑简史:打造统一消息流平台与生态

Apache Pulsar

Apache Pulsar StreamNative

解决「停车难」,EMQ 映云科技数据接入方案在智慧停车平台中的应用

EMQ映云科技

大数据 物联网 移动互联网 智慧交通 emq

Debian 10 安装 phpMyAdmin

Tao

MySQL 服务器 PHP-FPM MariaDB Debian

学习笔记:HTTP消息的响应码

姬翔

三分钟看完单例模式的八个例子

4ye

Java 后端 设计模式 单例模式 8月日更

Go 学习笔记之 反射

架构精进之路

Go 语言 8月日更

“互联网+”大赛之智慧校园赛题攻略:你的智慧校园,WeLink帮你来建

华为云开发者联盟

小程序 华为云 welink 智慧校园 “互联网+”大赛

4种基于像素分割的文本检测算法

华为云开发者联盟

目标检测算法 文本检测 像素分割 文本检测算法 文本

Go协程并发之百万级并发「让我们一起Golang」

Regan Yue

高并发 协程 Go 语言 8月日更

3 条掏心掏肺的建议,新手学习编程必备,快上车!

沉默王二

编程

大厂offer?拿来吧你!网易有道笔试编程题特辑

有道技术团队

招聘 笔试 #技术干货# 网易有道

【Vue2.x 源码学习】第三十四篇 - 组件部分-Vue组件与初始化流程简介

Brave

源码 vue2 8月日更

Java Array 和 String 的转换

HoneyMoose

Compose 中的 ConstraintLayout

Changing Lin

8月日更

【Flutter 专题】69 图解基本 Stepper 步进器

阿策小和尚

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

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