java - 最近对大数据感兴趣,hadoop是不是过时了,应该深入学习spark?
黄舟
黄舟 2017-04-18 09:22:34
0
4
781

最近对大数据感兴趣,后面想往这方面发展,hadoop是不是过时了,应该深入学习spark?
因为也在上班,时间有限,担心花了时间学习hadoop后,公司却都不使用了,
因为了解到现在公司都在搞spark,因为是内存运算,效率会搞很多,
往过来人解惑,感谢!!

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(4)
迷茫

目前,Hadoop已经进入2.0时代。它一共有三个组件:HDFSYARN以及MapReduceHDFS分布式文件系统,负责存储输入和输出数据;YARN是分布式资源管理系统,负责调度集群的CPU和内存;而MapReduce是分布式计算框架,是Google为了进行网页排序(PageRank)而设计的, 一种非常通用的编程模型,可以用于编写单词计数, 网页排序(PageRank)等各种大数据处理程序。

Hadoop MapReduce,Spark,Storm等等都是分布式计算框架,分别适用于不同的应用场景。Hadoop MapReduce做离线计算比如日志处理,Spark跑机器学习,Storm做实时流计算。这样说吧, 它们相当于手机上不同的APP, 有着不同的功能。因此,严格来说并没有什么谁替代谁的问题,不同的计算框架适用于不同的应用场景。当然,Spark与Hadoop YARN可以用于完成同一种任务,且Spark执行性能更好,但是Spark更耗内存。因此,Spark并非可以完全替代Hadoop MapReduce,因为有些应用使用Hadoop MapReduce执行时间长一点没有问题,可以节省内存资源。

还有,Hadoop Mapreduce,Spark,Storm以及很多其他分布式计算框架均属于Hadoop生态系统,他们可以跑在同一个Hadoop集群, 共享HDFS和YARN。将这些计算框架比作手机上的APP的话,则Hadoop的HDFS与YARN相当于手机的操作系统。

所以,我的建议是:

  1. Hadoop是大数据入门必须掌握的。因为MapReduce是最基础的分布式计算框架, 其他分布式计算框架比如Spark是依赖它构建,理解MapReudce才能理解其他系统。然后,Hadoop是其他Hadoop生态系统计算框架的运行平台,绕不开的。

  2. 根据公司需要学习Spark等其他计算框架,自学仅仅是入门,通过编写实际应用才能真正掌握。

我的博客也许能帮你快速搭建Hadoop测试环境:

  • 基于Docker搭建Hadoop集群之升级版

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!