写点什么

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

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

关注

评论

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

2021中级Android开发面试解答,Android面试送分题

android 面试 移动开发

腾讯云 CIF 工程效能峰会,10 月 19 - 20 日震撼来袭!

CODING DevOps

腾讯云 DevOps 云原生 云开发 CIF

2021Android高级面试题总结,憋个大招

android 面试 移动开发

TDSQL-C的内核关键技术深入解读

腾讯云数据库

数据库 tdsql

Android技术分享| 一行代码实现安卓屏幕采集编码

anyRTC开发者

音视频 WebRTC 移动开发 Android技术分享 屏幕采集编码

Vite + Vue3 + OpenLayers 手动激活地图

德育处主任

大前端 地图 vite Vue3 openlayers

2021中级Android开发面试解答,腾讯Android面试题

android 面试 移动开发

TDSQL产品简介以及适用场景

腾讯云数据库

数据库 tdsql

TDSQL核心架构

腾讯云数据库

数据库 tdsql

SOA + 汽车智能硬件 = 无限可能

SOA开发者

软件 物联网 SOA 汽车

CSS中content属性的妙用

echeverra

CSS

Vite + Vue3 + OpenLayers 切换地图容器

德育处主任

大前端 地图 vite Vue3 openlayers

网站URL如何SEO优化

echeverra

SEO

TDSQL核心特性:极具挑战的“四高”服务与安全可运维

腾讯云数据库

数据库 tdsql

2021Android高级面试题汇总解答,阿里内部Android应届生就业宝典

android 面试 移动开发

微服务网关Gateway实战

飞鸟

微服务 Gateway SpringCloud Gateway Spring Cloud Gateway

海量数据,极速体验——TDSQL-A核心架构详解来了 ​

腾讯云数据库

数据库 tdsql

2021一位Android中级程序员的跳槽面经,成功拿下大厂offer

android 面试 移动开发

拓路前行-TDSQL追求极致体验的这一路

腾讯云数据库

数据库 tdsql

腾讯TDSQL:带你认识真正的金融级自主可控分布式数据库

腾讯云数据库

数据库 tdsql

2021Android高级面试题及答案,30岁转行程序员

android 面试 移动开发

大天使之剑H5游戏超详细图文架设教程

echeverra

H5游戏 H5

博客被阮一峰引流后,我对“大数据”的分析与思考

echeverra

博客

车路协同赋予交通感知,数字技术让管理透明可视

一只数据鲸鱼

车联网 数据可视化 智慧城市 智慧交通

2021BAT大厂Android社招面试题,Android程序员校招蚂蚁金服

android 面试 移动开发

2021BAT大厂Android社招面试题,移动开发技术总结

android 面试 移动开发

2021Android高级面试题及答案,2021最新Android面试题目

android Android面试

TDSQL-C PostgreSQL(CynosDB) 内核解密-披荆斩棘,勇往直前的腾讯云数据库

腾讯云数据库

数据库 tdsql

2021Android高级面试题,零基础也能看得懂

android 面试 移动开发

如何写好倒计时

echeverra

JavaScript

5种Python使用定时调度任务的方式

华为云开发者联盟

Python 定时调度 调度 循环 调度任务

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