Hive架构介绍

目录

hive的架构

hive数据模型

Metastore(元数据)

motivation(动机)

metadata objects(元数据对象)

Metastore架构

metastore接口

Hive查询语言

Compiler

Optimizer

Hive API


 

原文地址:https://cwiki.apache.org/confluence/display/Hive/Design#Design-HiveArchitecture

 

hive的架构

       如图所示,hive主要包括如下模块:

  • UI

       用于向系统提交查询请求的接口。

  • Driver(驱动)

       该组件用于接收查询请求,它实现了会话操纵句柄,并且提供了基于jdbc/odbc的执行接口。

  • Compiler(编译器)

       该模块用来解析请求,对不同请求模块和语句进行语法分析,最后借助元数据中的表和分区信息来生成执行计划。

  • Metastore(元数据存储)

       该模块用于存储表和分区的结构信息,包括列和列类型信息的数据,序列化和反序列化程序,这些程序用于读取hdfs文件数据。

  • Execution-engine(执行引擎)

       该组件运行编译器生成的执行计划,注意该执行计划是一个有向无环图。执行引擎会解析执行计划的依赖关系,并且在合适的系统组件中执行。

       上图展示了系统的典型流程,其步骤如下:

       1.ui调用驱动的执行接口;

       2.驱动会为该请求创建一个会话句柄,并且将该请求发送至编译器以生成执行计划;

       3/4. 编译器从元存储中获取必要的元数据,这些元数据可以检查请求树的表达式类型,并且可以预测无用的分区并过滤;

       5. 编译器生成的计划是一个有向无环图,每个阶段是一个map/reduce任务,或者是一个元数据操作,或者是一个hdfs上的操作。对于map/reduce阶段,该计划包含一个map 操作树和reduce操作树。

       6/6.1/6.2/6.3. 执行引擎将这些执行计划发送给相应的组件执行。在每个任务中(map/reduce)中,反序列化程序和中间输出用于读取hdfs文件行数据,并且这些数据会被传输给相关联的执行树。一旦输出完成,它会通过序列化器写入临时hdfs文件中(适用于不需要reduce的map任务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值