⼀句话描述Hadoop,HDFS,MapReduce,Spark,Hive,Yarn
的关系,⼊门
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。
hadoop与spark的区别与联系
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论