Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hadoop 和大数据的关系是什么?和 Spark的关系是什么?

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

作者头像
LakeShen
发布于 2024-02-29 07:15:19
发布于 2024-02-29 07:15:19
2690
举报

前言

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

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

01、我的回答

Enjoy life

A HAPPY LIFE AFTER RAIN

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

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

part1

「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 来管理资源,核心还是为了公司机器资源管理的统一。

part2 「Spark 是什么?」

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

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

最后寄语

如果我的文章对你有启发的,欢迎点赞、在看、关注我,你的鼓励,是我更新的动力。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LakeShen 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用Hadoop处理大数据
大数据现在意味着大利润。世界正在不断积累大量的原始数据,如文本,MP3或Jpeg图片文件,可以通过分析这些数据得到利益。Apache Hadoop是处理大数据的开源软件。本文将介绍如何安装Hadoop并使用它。
轻吻晴雯
2018/05/14
1.1K0
使用Hadoop处理大数据
大数据学习之路05——Hadoop原理与架构解析
Hadoop 是 Apache 开源组织的一个分布式计算开源框架,是一个可以更容易开发和运行处理大规模数据的解决方案,它提供了一套分布式系统基础架构,允许使用简单的编程模型跨大型计算机的大型数据集进行分布式处理。
汪志宾
2019/05/24
8.6K0
大数据学习之路05——Hadoop原理与架构解析
大数据Hadoop生态圈各个组件介绍(详情)
-coordination and management(协调与管理) -query(查询) -data piping(数据管道) -core hadoop(核心hadoop) -machine learning(机器学习) -nosql database(nosql数据库)
全栈程序员站长
2022/08/31
5.2K0
大数据Hadoop生态圈各个组件介绍(详情)
从Hadoop到Spark、Flink,大数据处理框架十年激荡发展史
当前这个数据时代,各领域各业务场景时时刻刻都有大量的数据产生,如何理解大数据,对这些数据进行有效的处理成为很多企业和研究机构所面临的问题。本文将从大数据的基础特性开始,进而解释分而治之的处理思想,最后介绍一些流行的大数据技术和组件,读者能够通过本文了解大数据的概念、处理方法和流行技术。
PP鲁
2019/12/25
4.2K0
进击大数据系列(一):Hadoop 基本概念与生态介绍
大数据(big data),指的是在一定时间范围内不能以常规软件工具处理(存储和计算)的大而复杂的数据集。说白了大数据就是使用单台计算机没法在规定时间内处理完,或者压根就没法处理的数据集。
民工哥
2023/08/22
2.9K0
进击大数据系列(一):Hadoop 基本概念与生态介绍
Hadoop体系_集团架构
自从大数据的概念被提出后,出现了很多相关技术,其中对大数据发展最有影响力的就是开源分布式计算平台Hadoop,它就像软件发展史上的Window、Linux、Java一样,它的出现给接下来的大数据技术发展带来了巨大的影响。很多知名公司都加入Hadoop相关项目的开发中,如Facebook、Yahoo等,围绕大数据Hadoop技术产生了一系列大数据的相关技术
全栈程序员站长
2022/11/03
1.1K0
Hadoop体系_集团架构
一文了解大数据生态体系-Hadoop
大数据(big data):指无法在一定时间范围内用常规软件工具进行捕捉、管理 和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程 优化能力的海量、高增长率和多样化的信息资产。
架构狂人
2023/08/16
9060
一文了解大数据生态体系-Hadoop
大数据面试杀招——Hadoop高频考点,正在刷新你的认知!
上一篇文章为大家总结了一些关于Hive的热门考点,得到了一些朋友的肯定与转发,菌菌就觉得花时间去做这些知识整合是非常有价值,有意义的一件事。本篇文章,让我们有幸一起来阅读一下,该怎么准备Hadoop的内容,才有机会在面试过程占据上风。
大数据梦想家
2021/01/27
7390
大数据面试杀招——Hadoop高频考点,正在刷新你的认知!
大数据平台是否更应该容器化?
作者颜卫,腾讯高级后台开发工程师,专注于Kubernetes大规模集群管理和资源调度,有过万级集群的管理运维经验。目前负责腾讯云TKE大规模Kubernetes集群的大数据应用托管服务。
Spark学习技巧
2021/03/05
3.1K1
大数据平台是否更应该容器化?
Hadoop | 海量数据与Hadoop初识
Hadoop是一个使用JAVA开发的开源框架,是一个可以分析和处理海量数据的软件平台。它允许在整个集群使用简单编程模型计算机的分布式环境存储并处理大数据。它的目的是从单一的服务器到上千台机器的扩展,每一个台机都可以提供本地计算和存储。
用户3946442
2022/04/11
8850
Hadoop | 海量数据与Hadoop初识
Hadoop学习笔记(一)
Hadoop 是阿帕奇基金会(Apache)开源的一款分布式系统基础架构。由以下几部分组成:HDFS 、MapReduce 和 YARN 。它使用户可以快速简便的开发分布式程序去处理数据,而不需掌握过多的分布式知识以及底层实现逻辑。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
小闫同学啊
2020/04/22
5230
Hadoop与Spark等大数据框架介绍[通俗易懂]
海量数据的存储问题很早就已经出现了,一些行业或者部门因为历史的积累,数据量也达到了一定的级别。很早以前,当一台电脑无法存储这么庞大的数据时,采用的解决方案是使用NFS(网络文件系统)将数据分开存储。但是这种方法无法充分利用多台计算机同时进行分析数据。
全栈程序员站长
2022/08/10
1.6K0
Hadoop与Spark等大数据框架介绍[通俗易懂]
常用的大数据技术有哪些?hadoop学习总结
大数据技术为决策提供依据,在政府、企业、科研项目等决策中扮演着重要的角色,在社会治理和企业管理中起到了不容忽视的作用,很多国家,如中国、美国以及欧盟等都已将大数据列入国家发展战略,微软、谷歌、百度以及亚马逊等大型企业也将大数据技术列为未来发展的关键筹码,可见,大数据技术在当今乃至未来的重要性!
用户2292346
2018/07/21
1.9K0
Hadoop极简入门
其实Hadoop诞生至今已经十多年了,网络上也充斥着关于Hadoop相关知识的的海量资源。但是,有时还是会使刚刚接触大数据领域的童鞋分不清hadoop、hdfs、Yarn和MapReduce等等技术词汇。
王知无-import_bigdata
2019/04/24
7790
Hadoop极简入门
最新版本——Hadoop3.3.6单机版完全部署指南
本文基于最新的 Hadoop 3.3.6 的版本编写,带大家通过单机版充分了解 Apache Hadoop 的使用。本文更强调实践,实践是大数据学习的重要环节,也能在实践中对该技术有更深的理解,所以一些理论知识建议大家多阅读相关的书籍(都在资料包中)。
大数据流动
2023/12/07
1.3K0
最新版本——Hadoop3.3.6单机版完全部署指南
深入浅出大数据:到底什么是Hadoop?
1998年9月4日,Google公司在美国硅谷成立。正如大家所知,它是一家做搜索引擎起家的公司。
鲜枣课堂
2019/07/22
6770
深入浅出大数据:到底什么是Hadoop?
使用Hadoop分析大数据
大数据由于其庞大的规模而显得笨拙,并且大数据需要工具进行高效地处理并从中提取有意义的结果。Hadoop是一个用于存储,分析和处理数据的开源软件框架和平台。本文是Hadoop如何帮助分析大数据的初学者指南。
大数据弄潮儿
2018/05/24
8100
使用Hadoop分析大数据
Hadoop Spark Kylin...你知道大数据框架名字背后的故事吗?
对软件命名并不是一件容易的事情,名字要朗朗上口,易于记忆,既不能天马行空,又要代表软件本身的功能和创新。本文将历数几款大数据框架及其创始背后的故事。
PP鲁
2019/12/26
1.5K0
Hadoop Spark Kylin...你知道大数据框架名字背后的故事吗?
大数据_Hadoop初体验
root@node1 server$ scp -r /export/server/hadoop root@node2:$PWD
Pandolar
2022/01/04
1K0
大数据_Hadoop初体验
它的名字叫Hadoop
注意,我会使用第三人称以朋友的角度介绍大数据中必须要学会的框架Hadoop,阅读时间需要五分钟。
我脱下短袖
2019/12/23
4960
它的名字叫Hadoop
相关推荐
使用Hadoop处理大数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档