快速了解hive

本文详细介绍了Hive的架构,包括用户接口层、元数据存储系统、Thrift Server和Driver组件。此外,还讲解了Hive的数据组织,如数据库、表、分区和表数据在HDFS上的存储结构,以及内部表、外部表、分区表和Bucket表的区别。最后,概述了Hive的DDL操作,如创建、查看和管理库与表。
摘要由CSDN通过智能技术生成

 

作为hadoop的一个数据仓库工具,hive的架构设计如下:

 

快速了解hive

 

 

 

可以看出,Hive的内部架构总共分为四大部分:

1 用户接口层(cli、JDBC/ODBC、Web UI)

(1) cli (Command Line Interface),shell终端命令行,通过命令行与hive进行交互;

(2) JDBC/ODBC,是 Hive 的基于 JDBC 操作提供的客户端,用户(开发员,运维人员)通过客户端连接至 Hive server 服务;

(3)Web UI,通过浏览器访问hive。

2 元数据存储系统

(1) 元数据 ,通俗的讲,就是存储在 Hive 中的数据的描述信息;

(2)Hive 中的元数据通常包括:表的名字,表的列和分区及其属性,表的属性(内部表和 外部表),表中数据所在的目录;

(3)Metastore 默认存在自带的 Derby 数据库或者我们自己创建的 MySQL 库中;

(4)Hive 和 MySQL或Derby 之间通过 MetaStore 服务交互。

3 Thrift Server-跨语言服务

Hive集成了Thrift Server,让用户可以使用多种不同语言来操作hive。

4 Driver(Compiler/Optimizer/Executor)

Driver完成HQL查询语句的词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS上,并由MapReduce调用执行。

整个过程的执行步骤如下:

(1) 解释器完成词法、语法和语义的分析以及中间代码生成,最终转换成抽象语法树;

(2) 编译器将语法树编译为逻辑执行计划;

(3) 逻辑层优化器对逻辑执行计划进行优化,由于Hive最终生成的MapReduce任务中,而Map阶段和Reduce阶段均由OperatorTree组成,所以大部分逻辑层优化器通过变换OperatorTree,合并操

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值