组件原理

Hive

Hive引擎把客户提交的SQL类作业,转译成MR作业,在Yarn的资源调度下,访问HDFS数据,对外呈现就像是一个SQL数据库,组件架构如图1所示。

图1 Hive组件架构图

Spark

SparkSQL引擎把客户提交的SQL类作业,转译成Spark作业,在Yarn的资源调度下,访问HDFS数据,对外呈现就像是一个SQL数据库,组件架构如图2所示。

图2 Spark组件架构图

Spark和MapReduce都是Hadoop中最基础的分布式计算框架,主要用来设计非SQL类的批处理作业,如复杂挖掘和机器学习。区别在于Spark主要依赖内存迭代,MapReduce则依赖HDFS存储中间结果数据。

Spark相比MapReduce的特点: