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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

健鑫.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值