Hive架构图

  • Post author:
  • Post category:其他



一、什么是hive?


hive是基于hadoop的一个

数据仓库

工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在hadoop、中的大规模数据的机制。hive数据仓库工具能将将结构化的数据文件映射为一张数据库表,并提供

SQL


查询功能,能将SQL语句转变成


MapReduce


任务来执行。


二、架构图



Meta store(元数据存储)


:通常是存储在关系数据库如

mysql/derby

中。hive将元数据存储在数据库中,

hive

中的元数据包括表的名字,表的列和分区,表的属性(内部表、外部表)。



Client(用户接口)


:包括

CLI、JDBC/ODBC、WebGUI



CLI



shell

命令行;

JDBC/ODBC



hive



java

实现;

WebGUI

通过浏览器访问

hive



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


:完成

HQL

查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在

HDFS

中,最后由

MapReduce

调用执行。

详解:


Hive

通过给用户提供一系列交互接口,接收用户的指令(

shell

脚本、

sql

语句),将sql转换成抽象语法树

AST

的解析器,将

AST

编译成逻辑执行计划的编译器,在对逻辑执行计划进行优化,最后将逻辑计划转变成

MapReduce

,提交给

HDFS。



版权声明:本文为qq_66563605原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。