1、体系架构:

在这里插入图片描述

2、三大组件:

1、用户接口(Client):包括CLI、JDBC/ODBC、WebGUI
①CLI(command line interface)为shell命令行 ,进行交互执行SQL;直接与Driver进行交互。
CLI启动的时候,会同时启动一个Hive副本
②JDBC/ODBC 驱动是Hive 的JAVA实现,作为JAVA的API;JDBC是通过Thift Server来接入,然后发送给Driver
③WebGUI是通过浏览器访问Hive
④HiveServer2基于Thift,允许远程客户端使用多种编程语言如java、Python向Hive提交请求
2、Metastore:存储元数据
①Hive将元数据存储在数据库中,如MySQL、derby
②Hive中元数据包括表的名字、表的列、分区及其属性、表的属性(是否为外部表等)、表的数据所在目录等。
3、Driver(驱动模块):包括解析器、编译器、优化器、执行器
①通过该模块对输入进行解析编译,对需求的计算进行优化,然后按照指定的步骤进行(通常启动多个MR任务来执行)
②解析器、编译器、优化器、执行器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后的MapReduce调用执行

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐