hive的基本概念
Posted 健鑫.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive的基本概念相关的知识,希望对你有一定的参考价值。
hive的基本概念
hive的介绍
hive是一个构建在hadoop上的数据仓库框架,可以将结构化的数据文件映射成一张数据库表,并提供类SQL查询功能
本质上就是将SQL转换成MR的任务来进行计算,由HDFS来进行数据的存储
所以hive就是一个将SQL转换成MR任务的工具,换句话说,hive就是MR的一个客户端
hive的特点
- hive通过类SQL来进行分析,避免了写MR代码的繁琐
- hive本身不能进行数据的存储,数据存储到HDFS上,可以将存储的数据结构化
- hive将数据映射成数据库和一张张的表,库和表的元数据信息一般存储在关系型数据库上
- hive可以直接访问存储在HDFS或其他数据存储系统上的数据
- 由于hive最后会生成MR任务去计算,所以hive不适用于实时计算场景
- hive还可以使用spark和Tez这两种分布式计算引擎
hive的架构
Client 客户端
Client由CLI(hive shell 命令行)、 JDBC/ODBC(java访问hive)、WEB UI(浏览器访问hive)
Metastore 元数据
用来存储hive中有哪些数据库、表 、表的字段、表所属数据库等
默认使用自带的derby数据库来进行存储
可以用关系型数据库来进行元数据的存储
Driver 驱动器
- 解析器(SQL Parser) : 将SQL转换成抽象语法树AST,这一步由第三方工具库来完成
- 编译器(Physical Plan) : 将AST编译生成执行计划
- 优化器(Query Optimizer) : 对逻辑执行计划进行优化
- 执行器(Execution) : 将逻辑计划转换成可以运行的物理计划(MR)
hive的安装模式
hive有三种模式:内嵌模式、本地模式、远程模式
元数据服务作用:客户端来连接metastore服务,metastore再来连接mysql数据库来存储元数据。就可以进行多个客户端同时连接
内嵌模式
使用Derby来存储元数据,不需要额外的metastore服务。
一次只能由一个客户端来连接,不适用于生产环境
使用 bin\\hive 来启动使用
每个hive有自己的一套元数据,无法共享
本地模式
采用外部数据库来存储元数据
不需要单独启动metastore服务,启动hive服务时,会默认启动一个metastore服务,本地模式使用的时和hive在同一进程的metastore服务
远程模式
需要单独启动metastore服务,每个客户端在配置文件里配置连接到metastore服务
metastore服务和hive 运行在不同的进程
其他依赖hive 的软件都可以通过metastore来访问hive
以上是关于hive的基本概念的主要内容,如果未能解决你的问题,请参考以下文章