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的基本概念的主要内容,如果未能解决你的问题,请参考以下文章

大数据入门知识总结

Hive-基本概念

Hive大数据开发

一文教你看懂大数据的技术生态圈:Hadoop,hive,spark

2021年大数据Hive:​​​​​​​Hive基本概念

大数据技术之Hive基本概念安装数据类型