Hadoop框架的主要模块包括如下:
-
Hadoop Common
-
Hadoop分布式文件系统(HDFS)
-
Hadoop YARN
-
Hadoop MapReduce
虽然上述四个模块构成了Hadoop的核心,不过还有其他几个模块。这些模块包括:Ambari、Avro、Cassandra、Hive、 Pig、Oozie、Flume和Sqoop,它们进一步增强和扩展了Hadoop的功能。
Spark
是Apache的另一个开源项目,它无法与整个Hadoop生态系统竞争。它是一个集群计算框架,具有类似于MapReduce的功能,甚至没有自己的分布式文件系统。实际上,Spark和Hadoop之间的最大区别在于,前者在内存中工作,而后者将文件写入HDFS。
同时,Spark运行任务的速度提高了100倍。它能够在短短23分钟内整理100TB数据,这在2014年创造了新的世界纪录。
除了核心引擎,Spark还具有以下功能:
-
集群管理一与包括Hadoop YARN在内的各种集群管理系统兼容;
-
Spark Streaming 一实时数据分析工具;
-
Spark SQL 一集成关系处理;
-
GraphX 一通过图并行计算扩展了Spark功能;
-
MLlib 一专门用于机器学习的库。