一句话描述Hadoop,HDFS,Map Reduce,Spark,Hive,Yarn的关系,入门
转载:https://zhuanlan.zhihu.com/p/52704422
Hadoop:Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。不是一个工具,也不是一种技术,是一种技术的合称
HDFS:分布式文件系统。传统的文件系统是单机的,不能横跨不同的机器。比如你说我要获取/hdfs/tmp/file1的数据,你引用的是一个文件路径,但是实际的数据存放在很多不同的机器上。你作为用户,不需要知道这些,就好比在单机上你不关心文件分散在什么磁道什么扇区一样。HDFS为你管理这些数据。
Map Reduce:分布式计算。一台机器读取成T上P的数据,也许需要好几天甚至好几周。对于很多公司来说,单机处理是不可忍受的。如果要用很多台机器处理,我就面临了如何分配工作,如果一台机器挂了如何重新启动相应的任务,机器之间如何互相通信交换数据以完成复杂的计算等等。这就是MapReduce / Tez / Spark的功能。
Spark:之前的Map Reduce类似于汇编语言,那么现在的spark就类似于python了,功能和Map Reduce类似,但是对于开发人员更加的友好,更方便使用。
Hive:你希望有个更高层更抽象的语言层来描述算法和数据处理流程。于是就有了Hive。Hive用SQL描述MapReduce。它把脚本和SQL语言翻译成MapReduce程序,丢给计算引擎去计算,而你就从繁琐的MapReduce程序中解脱出来,用更简单更直观的语言去写程序了。
SparkSQL和Hive on Spark:自从数据分析人员开始用Hive分析数据之后,它们发现,Hive在MapReduce上跑,很慢! 它们的设计理念是,MapReduce慢,但是如果我用新一代通用计算引擎Tez或者Spark来跑SQL,那我就能跑的更快。
Yarn:有了这么多乱七八糟的工具,都在同一个集群上运转,大家需要互相尊重有序工作。所以另外一个重要组件是,调度系统。
上面的介绍,基本就是一个数据仓库的构架了。底层HDFS,上面跑MapReduce/Tez/Spark,再上面跑Hive。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南