继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Hive原理

慕标5832272
关注TA
已关注
手记 1071
粉丝 228
获赞 996

Hive 不是

一个关系数据库

一个设计用于联机事务处理(OLTP)

实时查询和行级更新的语言


Hiver特点

它存储架构在一个数据库中并处理数据到HDFS。

它是专为OLAP设计。

它提供SQL类型语言查询叫HiveQL或HQL。

它是熟知,快速,可扩展和可扩展的。


Hive架构

下面的组件图描绘了Hive的结构:

webp

该组件图包含不同的单元。下表描述每个单元:

单元名称操作

用户接口/界面Hive是一个数据仓库基础工具软件,可以创建用户和HDFS之间互动。用户界面,Hive支持是Hive的Web UI,Hive命令行,HiveHD洞察(在Windows服务器)。

元存储Hive选择各自的数据库服务器,用以储存表,数据库,列模式或元数据表,它们的数据类型和HDFS映射。

HiveQL处理引擎HiveQL类似于SQL的查询上Metastore模式信息。这是传统的方式进行MapReduce程序的替代品之一。相反,使用Java编写的MapReduce程序,可以编写为MapReduce工作,并处理它的查询。

执行引擎HiveQL处理引擎和MapReduce的结合部分是由Hive执行引擎。执行引擎处理查询并产生结果和MapReduce的结果一样。它采用MapReduce方法。

HDFS 或 HBASEHadoop的分布式文件系统或者HBASE数据存储技术是用于将数据存储到文件系统。


Hive工作原理

下图描述了Hive 和Hadoop之间的工作流程。

webp

下表定义Hive和Hadoop框架的交互方式:

Step No.操作

Execute Query

Hive接口,如命令行或Web UI发送查询驱动程序(任何数据库驱动程序,如JDBC,ODBC等)来执行。

Get Plan

在驱动程序帮助下查询编译器,分析查询检查语法和查询计划或查询的要求。

Get Metadata

编译器发送元数据请求到Metastore(任何数据库)。

Send Metadata

Metastore发送元数据,以编译器的响应。

Send Plan

编译器检查要求,并重新发送计划给驱动程序。到此为止,查询解析和编译完成。

Execute Plan

驱动程序发送的执行计划到执行引擎。

Execute Job

在内部,执行作业的过程是一个MapReduce工作。执行引擎发送作业给JobTracker,在名称节点并把它分配作业到TaskTracker,这是在数据节点。在这里,查询执行MapReduce工作。

7.1 Metadata Ops

与此同时,在执行时,执行引擎可以通过Metastore执行元数据操作。

Fetch Result

执行引擎接收来自数据节点的结果。

Send Results

执行引擎发送这些结果值给驱动程序。

10 Send Results

驱动程序将结果发送给Hive接口。



作者:姚兴泉
链接:https://www.jianshu.com/p/bff7c5e4c0fd


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP