Hive体系架构

一、Hive体系架构sql

(1)Command-line shell:client在命令行shell上写sql,写完后提交给Hive引擎上。shell

(2)Thrift/JDBC:看作server/jdbc。Thrift是一种协议,把Hive起成一个服务server,经过JDBC的方式提交sql。额外能够看看WebUI(HUE/Zeppelin)经过图形化界面进行jdbc链接,sql在图形化界面上运行,全部进行可视化的展现。架构

(3)metastore:即元数据信息,存储在MySQL上ide

    database:name、location、owner...函数

    table:name、location、owner、column name/type...优化

(4)Driver:命令行

    sql语句是普通的字符串,如何让字符串让Hive识别:翻译

    Driver编译sql为语法数server

    首先使用SQL Parser进行解析、编译为语法数blog

    基于这个语法数,使用Query Optimizer进行优化,取出最优的执行计划

    最优的执行计划生成物理执行计划

    在这个物理执行计划过程当中,存在序列化及反序列化SerDes、用户本身定义的函数UDFs

    物理执行计划会生成一个Execution

    在Execution下,生成一个MapReduce

Driver的这一过程,即将客户端来的sql翻译成MapReduce

(5)最后将做业提交到HDFS,进行执行。

相关文章
相关标签/搜索