简述hive的架构

一、先上图,官网拷贝的。

二 、hive的组成

        2.1、客户端:

                1、后台命令行:hive与beeline 。一般做数仓进行脚本开发都是通过hive与beeline进行开发,当然也有spark-sql。

                2、hive-web ui:这个本人目前没用过,但是HUE组件是可以通过WEB UI 对hive进行操作。

                3、JDBC/ODBC: 这个对开发语言提供的接口了。

        2.2、 驱动程序:

                hive的核心主要是他的驱动引擎程序driver。包括解释器、编译器、优化器、执行器。

                解释器:对HQL进行解析,转换为抽象语法树(AST)。

                编译器:对抽象语法树进行编译,生成初步的逻辑计划。

                优化器:对初步的逻辑方案进行优化,形成最终的逻辑计划。

                执行器:执行逻辑计划。

        2.3、元数据:

               因为hive的数据文件是存储在HDFS上面的,所以他需要一个角色来管理库表字段数据文件位置等的信息,这个角色就是matestors。hive有自带的数据库,但是因为不方便,所以一般的平台都采用成熟的关系型数据库,比如mysql、oracle、postgerSql, mysql与postgerSql采用较多。当采用第三方关系型数据库做元数据库时,matestors的作用就是负责driver与元数据的协调。

       2.4、简单流程

                提交HQL到hive-client, client连接驱动程序driver,驱动程序中的解释器对HQL进行解析形成抽象语法树;编译器通过matestors连接元数据库对HQL的数据类型及语法分析,形成逻辑计划;优化器进行优化生成MR任务;执行器执行MR任务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值