https://yq.aliyun.com/articles/47860?utm_campaign=wenzhang&utm_medium=article&utm_source=QQ-qun&utm_content=m_10342
关于怎么深入学Hadoop,我看了前面很多答主的回答,觉得需要补充一点点。Hadoop分为两个大块:HDFS和MapReduce。
HDFS - Hadoop Distributed FileSystem。这个概念很好,但是其实我不觉得很实用。但是如果你之后要往Non SQL方面深入的话这个还是很重要,HDFS是HBASE的基础,Hbase又可以延伸到Big Table,DynamoDB,Mango等。HDFS概念不难,Hadoop The Definitive Guide里面讲的很清楚,看书就好。
MapReduce - 前面说最好看英文版,因为不管中文怎么翻译,Map,Reduce都是没办法像读英文那样容易理解的。这里面有个YARN的概念,是最最最重要的。MapReduce是管数据怎么流动的,YARN是管集群中的资源怎么分配的。除了YARN以外,MapReduce还有几个很重要的概念,比如Partition, combine, shuffle, sort, 都在书里很小的位置,但是都对理解整个MapReduce非常有帮助。
但是Spark要单独提出来讲一讲,Spark其实不是Hadoop上面的应用,它也可以使用除了YARN之外的其他资源分配系统。但是Spark使用的人很多,很多任务用Spark比用Hadoop MR要快一些,Spark也比其他的应用要复杂一点。如果有兴趣还是可以从Hadoop The Definitive Guide开始,然后边做实际的例子边学习。
链接:https://www.zhihu.com/question/19795366/answer/228611111
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
hadoop和Spark是两种不同的大数据处理框架,他们的组件都非常多,往往也不容易学,我把他们两者整理在一幅图中,给大家一个全貌的感觉。初学者可以针对如下图中的组件,逐个的去研究攻破。至于各组件的详细介绍、相关联系和区别,以及它们在大数据平台建设中的具体实施关注点,待点赞数达到1000,我再对帖子进行详细的更新,请大家随手帮忙点个赞。


以上这些大数据组件是日常大数据工作中经常会碰到的,每个组件大概的功能,我已经在图中做了标识。下面,针对这幅图我给大家两点重要提示:
a.蓝色部分,是Hadoop生态系统组件,黄色部分是Spark生态组件,虽然他们是两种不同的大数据处理框架,但它们不是互斥的,Spark与hadoop 中的MapReduce是一种相互共生的关系。Hadoop提供了Spark许多没有的功能,比如分布式文件系统,而Spark 提供了实时内存计算,速度非常快。有一点大家要注意,Spark并不是一定要依附于Hadoop才能生存,除了Hadoop的HDFS,还可以基于其他的云平台,当然啦,大家一致认为Spark与Hadoop配合默契最好摆了。
b.技术趋势:Spark在崛起,hadoop和Storm中的一些组件在消退。大家在学习使用相关技术的时候,记得与时俱进掌握好新的趋势、新的替代技术,以保持自己的职业竞争力。
HSQL未来可能会被Spark SQL替代,现在很多企业都是HIVE SQL和Spark SQL两种工具共存,当Spark SQL逐步成熟的时候,就有可能替换HSQL;
MapReduce也有可能被Spark 替换,趋势是这样,但目前Spark还不够成熟稳定,还有比较长的路要走;
Hadoop中的算法库Mahout正被Spark中的算法库MLib所替代,为了不落后,大家注意去学习Mlib算法库;
Storm会被Spark Streaming替换吗?在这里,Storm虽然不是hadoop生态中的一员,但我仍然想把它放在一起做过比较。由于Spark和hadoop天衣无缝的结合,Spark在逐步的走向成熟和稳定,其生态组件也在逐步的完善,是冉冉升起的新星,我相信Storm会逐步被挤压而走向衰退。