Hive 简介

Hive是一个用于大数据分析的数据仓库工具,它提供了CLI、Client和WUI等多种用户接口。元数据存储在数据库中,如mysql、derby,HQL查询经过词法、语法分析、编译和优化后,由MapReduce执行。Hive的操作符是处理过程的最小单元,其状态由done字段标记。系统支持本地、单用户和远程服务器三种模式来搭建和访问Hive。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hive 简介

  • Hive:数据仓库。(分析、储存、录入历史数据,做内部分析使用。)
  • Hive:解释器,编译器,优化器 等。
  • Hive:运行时,元数据存储在关系型数据库里面。

HIve 架构

架构

  1. 用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动 Client模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server。 WUI是通过浏览器访问Hive。
  2. Hive将元数据存储在数据库中,如mysql、derby。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
  3. 解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。
  4. Hive的数据存储在HDFS中,大部分的查询、计算由MapReduce完成(包含*的查询,比如select * from tbl不会生成MapRedcue任务)。

注:

  • 编译器将一个Hive SQL转换操作符
  • 操作符是Hive的最小的处理单元
  • 每个操作符代表HDFS的一个操作或者一道MapReduce作业

Operator

  • Operator都是hive定义的一个处理过程
  • Operator都定义有:
    protected List <Operator<? extends Serializable >> childOperators;
    protected List <Operator<? extends Serializable >> parentOperators;
    protected boolean done; // 初始化值为false

operator

ANLTER 词法语法分析工具解析 hql

hql

搭建模式

1.本地模式

此模式连接到一个In-memory 的数据库Derby,一般用于Unit Test。
本地模式

2.单用户模式

通过网络连接到一个数据库中,是最经常使用到的模式。
单用户模式

3.远程服务器模式

用于非Java客户端访问元数据库,在服务器端启动MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访问元数据库。

远程服务器模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值