Hadoop设计理念来自Google的三篇论文的启发催生了下列组件
HDFS:分布式存储【在役】
MapReduce:分布式结算【退役】
Hbase:分布式查询【在役】
由于第一代的弊端,催生了支持 DAG 框架的产生,实现了DAG定义与算子的解耦。因此,支持用户在算子外部自定义 DAG 的框架被划分为第二代计算引擎。如 Tez 以及更上层的 Oozie。这里我们不去细究各种 DAG 实现之间的区别,不过对于当时的Tez和Oozie来说,大多还是批处理的任务。
接下来就是以Spark为代表的第三代的计算引擎。第三代计算引擎的特点主要是一个App内部支持多个Job,每个Job可以代表一套完整的数据处理流程(用Job完成一个完整流程的隔离),并实现了Job内嵌DAG,以及强调的实时计算。在这里,很多人也会认为第三代计算引擎也能够很好的运行批处理的 Job。
Spark中几个概念的作用范围:App > Job > Stage > Operator > Task,从左至右都是1对多的关系。
联系客服