84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
最近对大数据感兴趣,后面想往这方面发展,hadoop是不是过时了,应该深入学习spark?因为也在上班,时间有限,担心花了时间学习hadoop后,公司却都不使用了,因为了解到现在公司都在搞spark,因为是内存运算,效率会搞很多,往过来人解惑,感谢!!
人生最曼妙的风景,竟是内心的淡定与从容!
Hadoop并不仅仅是指Hadoop的计算模型MapReduce,而是指Hadoop生态圈,包括HDFS、HBase、Hive等。Spark也只是替代和丰富了Hadoop中的计算模型,其运行还需依赖于Hadoop生态圈的其它部分。所以我觉得如果仅仅是指Hadoop中的计算模型MapReduce,确实在某种程度上是过时的(但是也有适合场景)。
Hadoop
MapReduce
HDFS
HBase
Hive
Spark
感兴趣的话可以看看这篇文章:Spark And Hadoop Are Friends, Not Foes
目前,Hadoop已经进入2.0时代。它一共有三个组件:HDFS,YARN以及MapReduce。HDFS是分布式文件系统,负责存储输入和输出数据;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相当于手机的操作系统。
所以,我的建议是:
Hadoop是大数据入门必须掌握的。因为MapReduce是最基础的分布式计算框架, 其他分布式计算框架比如Spark是依赖它构建,理解MapReudce才能理解其他系统。然后,Hadoop是其他Hadoop生态系统计算框架的运行平台,绕不开的。
根据公司需要学习Spark等其他计算框架,自学仅仅是入门,通过编写实际应用才能真正掌握。
我的博客也许能帮你快速搭建Hadoop测试环境:
基于Docker搭建Hadoop集群之升级版
hadoop是分布式计算的基础设施。Spark最多只能代替Hadoop MapReduce。很多大数据技术工具都基于HDFS和MapReduce,包括HBASE Hive Sqoop kafka等。当然做开发直接学习Spark更高,入门简单
学习Hadoop和学Spark不冲突,目前大部分公司在使用Spark的时候,数据存储还是放到Hadoop HDFS上的。Spark SQL和Hive的都是可以用类SQL,是相通的。
Hadoop
并不仅仅是指Hadoop
的计算模型MapReduce
,而是指Hadoop
生态圈,包括HDFS
、HBase
、Hive
等。Spark
也只是替代和丰富了Hadoop
中的计算模型,其运行还需依赖于Hadoop
生态圈的其它部分。所以我觉得如果仅仅是指Hadoop
中的计算模型MapReduce
,确实在某种程度上是过时的(但是也有适合场景)。感兴趣的话可以看看这篇文章:Spark And Hadoop Are Friends, Not Foes
目前,Hadoop已经进入2.0时代。它一共有三个组件:HDFS,YARN以及MapReduce。HDFS是分布式文件系统,负责存储输入和输出数据;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相当于手机的操作系统。
所以,我的建议是:
Hadoop是大数据入门必须掌握的。因为MapReduce是最基础的分布式计算框架, 其他分布式计算框架比如Spark是依赖它构建,理解MapReudce才能理解其他系统。然后,Hadoop是其他Hadoop生态系统计算框架的运行平台,绕不开的。
根据公司需要学习Spark等其他计算框架,自学仅仅是入门,通过编写实际应用才能真正掌握。
我的博客也许能帮你快速搭建Hadoop测试环境:
基于Docker搭建Hadoop集群之升级版
hadoop是分布式计算的基础设施。Spark最多只能代替Hadoop MapReduce。很多大数据技术工具都基于HDFS和MapReduce,包括HBASE Hive Sqoop kafka等。当然做开发直接学习Spark更高,入门简单
学习Hadoop和学Spark不冲突,目前大部分公司在使用Spark的时候,数据存储还是放到Hadoop HDFS上的。Spark SQL和Hive的都是可以用类SQL,是相通的。