Hive整体架构:


Hive架构如下:





主要组件:

     用户接口:包括CLI,client(jdbc)和web ui

     元数据存储:mysql或者derby

     解释器、编译器、优化器、执行器

     hadoop:用hdfs存储,用mapreduce计算

各组件主要功能:

    CLI:shell命令行

   client:在client模式下,用户可以通过jdbc或者odbc连接Hive,需要启动Hive Server2/Hive server务(图中的Thrift server)。

   Web UI:通过浏览器访问Hive

系统目录(catalog)用于保存Hive中所存储的表的元数据(metadata)信息的服务。metastore包含Database 、Table、Partition (每个分区     都有自己的列(columns),SerDe和存储空间                               (storage))。

     Complier:Driver掉用Complier将HiveSQL字符串转化为执行计划(plan),执行计划只有元数据操作和HDFS操作组成。元数据操作只包含DDL语          句,HDFS语句只包含LOAD语句。对于插入和查询,执行计                  划由mapreduce中的DAG组成。

     optimizer:优化器,选择最优的执行计划。一般由两种:经验优化器和语义优化器。

    Executor:执行器,执行优化的mapredue。