Hadoop 和大数据的关系是什么?和 Spark的关系是什么?

前言

最近在知乎上面看到这样一个问题:Hadoop 和大数据的关系?和 Spark 的关系?

刚好我个人是大数据引擎开发,所以对于 Hadoop 也算比较了解,所以今天我就来分享一下我的看法。

先说结论,Hadoop 属于大数据技术这个领域的一个分支,它真正开启了大数据技术到工业使用的普惠时代,你现在听到的 Hadoop 这一词,一般情况是指 Hadoop 这个技术生态,它不再局限于 Hadoop 原先自身已有的技术,而是指建立在这个基础之上的其他所有相关的技术,比如 Spark、Hive、HDFS、Yarn、HBase、Zookeeper 等等。所以 Spark 你可以理解为它是 Hadoop 生态技术的一部分。

在 Hadoop 出来之前,国内真正用大数据技术的公司很少,你可能只会听到国内一堆人在那鼓吹大数据,但实际用大数据技术来解决业务问题的工业实践却很少。国外也主要是谷歌内部在用,毕竟人家全球搜索的数据量太大,也是业务趋势所需。

Hadoop 是什么?

Hadoop 是 2006 年由道格卡丁(Doug Cutting)开源出来分布式计算平台,其前身是Apache Lucene 子项目 Nutch 的一部分。

Hadoop 框架之所以能够开源能出来,其设计思想很大程度上借鉴了谷歌三驾马车论文的思想,Hadoop MapReduce 计算框架借鉴了谷歌《MapReduce: Simplified Data Processing on Large Clusters》这篇论文,Hadoop HDFS 则是借鉴了谷歌《The Google File System》这篇论文,后面 Doug Cutting 结合这两篇论文的思想,开发出今天的 Hadoop MapReduce 计算框架 和 HDFS(Hadoop Distributed File System), 不得不说,谷歌对于大数据领域的贡献,还是真的有东西的。

Hadoop 主要包含三部分:MapReduce 分布式任务计算模型、HDFS 分布式文件系统、Yarn 资源管理框架。

MapReduce 任务框架,它把大数据计算任务分为了 Map 任务和 Reduce 任务,用户在开发大数据任务时,只需要开发 Map 任务的逻辑和 Reduce 任务逻辑即可。这种编程模型简化了开发大数据任务复杂度,不过后面随着 Hive 出来,用户直接使用 SQL 来开发 Hadoop 任务,这种开发模型几乎也没有人使用了。

HDFS 分布式文件系统,主要是将文件分为 Block 来进行存放,一个 Block 一般是 256 MB,副本存放数一般是 3,主要是为了防止文件损坏,而进行容错。HDFS 一般有两类节点:NameNode 和 DataNode,NameNode 管理文件的元数据,DataNode 则是实际数据文件的存放节点。

Yarn 则是 Hadoop 的计算资源管理框架,它既可以运行 Hadoop MapReduce 任务,也可以运行 Spark 任务,同时也可以运行 Apache Flink 任务,它是以 Container 来封装具体申请的资源,比如一个 Container 的内存为 4096 MB,CPU 为 2 Core(软隔离),一个任务申请 4 个 Container。现在企业逐渐开始使用 K8S 来管理资源,核心还是为了公司机器资源管理的统一。

Spark 是什么

Spark 本质是一种计算框架,其内置了 SQL、流式传输和计算、机器学习和图处理模块。它没有实际的数据存储层,所以它的数据源一般来自于外部。用户可以使用 SQL 来编写 Spark 计算任务,同时也可以使用 Java、Scala、Python 来编写 Spark 计算任务。

Spark 计算框架相对于 Hadoop MapReduce 任务最大的一个区别,就是它可以在内存中存储 Shuffle 的数据,而 Hadoop MapReduce 则需要将 Shuffle 的数据放到磁盘,由于内存和磁盘在读取和写入不是一个量级,所以 Spark 计算任务比 Hadoop MapReduce 快的非常多,一般企业现在离线作业方面,都是使用的 Spark。


我是雷克,专注于科技互联网、程序员经验、量化交易、大数据 & 数据库、AI大模型的分享,欢迎关注 。

相关推荐
狒狒热知识24 分钟前
2026年AI传播新闻软文营销发布当下178软文网领衔发展路径
大数据·人工智能
Jasonakeke1 小时前
SpringBoot自动配置原理揭秘
java·spring boot·后端
出海小龙1 小时前
B2B 跟 B2C 的联盟营销有何根本区别?以及分别如何真正推动增长?
大数据·人工智能
QiLinkOS1 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
不做无法实现的梦~1 小时前
git指令速查
大数据·elasticsearch·搜索引擎
汤姆yu2 小时前
SkyClaw‑v1.0昆仑万维天工 AI
大数据·人工智能
我是大AI2 小时前
搜极星 GEO:让 AI 精准推荐,品牌不再隐形
大数据·人工智能·ai
2601_957787582 小时前
企业内容矩阵系统:AI赋能下的全链路运营与获客升级
大数据·人工智能·矩阵
IT_陈寒2 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端