学习Spark一定要先学Hadoop吗( 二 )


诞生的先后顺序,hadoop属于第一代开源大数据处理平台,而spark属于第二代属于下一代的spark肯定在综合评价上要优于第一代的hadoopspark和hadoop在分布式计算的底层思路上,其实是极为相似的,即mapreduce分布式运算模型:将运算分成两个阶段,阶段1-map,负责从上游拉取数据后各自运算,然后将运算结果shuffle给下游的reduce,reduce再各自对通过shuffle读取来的数据进行聚合运算spark和hadoop在分布式计算的具体实现上,又有区别;hadoop中的mapreduce运算框架,一个运算job,进行一次map-reduce的过程;而spark的一个job中,可以将多个map-reduce过程级联进行spark和hadoop的另一个区别是,spark是一个运算平台,而hadoop是一个复合平台(包含运算引擎,还包含分布式文件存储系统hdfs,还包含分布式运算的资源调度系统yarn),所以,spark跟hadoop来比较的话,主要是比运算这一块大数据技术发展到目前这个阶段,hadoop(主要是说它的运算部分)日渐式微,而spark目前如日中天,相关技术需求量大,offer好拿,薪资相对更高总结,如果要学spark,其实逃不开HDFS,也逃不开yarn,所以,虽然理论上可以不用学hadoop就直接学spark,但还是建议学一下hadoop,毕竟这玩意儿又不是个多难的事,也就两三天时间就足够让你上手,并铺垫好学spark的基础了

■网友
不需要吧。不过理解两者的区别会对日后工作很有帮助。和spark相对比的应该是MapReduce。MapReduce 是Hadoop的运算框架,其运算结果必须送回HDFS即Hadoop的存储框架。而Spark的中间结果可以存到内存中,因此对迭代大数据运算效果提升显著,比如PageRank或者一些Machine Leanring算法。

■网友
不需要,你学习使用Git的时候也没让你会用SVN,甚至学习的比有SVN基础的更快
■网友
不需要,spark是与hadoop mapreduce完全不同的计算引擎。


推荐阅读