HIVE的原理

1Hive:是数据仓库

什么是数据仓库:

1、数据库主要是通过业务层读取数据,进行显示

2、数据仓库则是对数据进行分析和数据挖掘

 

2Hive:也是解释器,编译器,优化器

因为数据是存到hdfs中,而hive是通过sql进行查询,内部使用的是mapreduce来进行hdfs进行查询,它使用mapreduce的过程中就是优化,编译的过程。

 

3Hive:运行时,元数据存储在关系型数据库中

元数据:包括表的名字,表的列和分区及其属性,表的属性,存放目录,等等

大数据-hive原理

    大数据-hive原理

4、Hive的操作符

Hive编译器将每一条hive的执行计划,转换为操作符

操作符是Hive的最小的处理单元

每个操作符代表的时HDFS的一个操作,或者是一道MapReduce作业

 

5、Operator(操作符)

Hive最终生成的MapReduce任务,Map阶段和Reduce阶段均由OperatorTree组成。逻辑操作符,就是在Map阶段或者Reduce阶段完成单一特定的操作。

基本的操作符包括

TableScanOperator,SelectOperator,FilterOperator,JoinOperator,GroupByOperator,ReduceSinkOperator

从名字就能猜出各个操作符完成的功能:

TableScanOperator从MapReduce框架的Map接口原始输入表的数据,控制扫描表的数据行数,标记是从原表中取数据。

JoinOperator完成Join操作。

FilterOperator完成过滤操作

ReduceSinkOperator将Map端的字段组合序列化为Reduce Key/value, Partition Key,只可能出现在Map阶段,同时也标志着Hive生成的MapReduce程序中Map阶段的结束。

Operator在Map Reduce阶段之间的数据传递都是一个流式的过程。每一个Operator对一行数据完成操作后之后将数据传递给childOperator计算。

 

HIVE的三种模式

1、本地模式(直接pass)

2、单用户模式

3、多用户模式(远程服务器模式)

 

2、什么是单用户模式

大数据-hive原理

从楼上的图中我们可以看到,每一个Hive客户端访问MySQL 服务器进行操作

 

但此时就有问题了,假如我要是多个Hive客户端访问的话,该怎么办呢?此时我们就可以使用多用户模式

 

3、什么是多用户模式

 大数据-hive原理

从上图可知:

前提是在服务器端启动MetaStoreServer,

客户端利用Thrift协议通过 MetaStoreServer来访问元数据库


相关文章:

  • 2021-11-30
  • 2021-04-20
  • 2022-12-23
  • 2021-04-26
  • 2021-09-14
  • 2021-08-13
  • 2021-09-07
猜你喜欢
  • 2021-05-18
  • 2021-12-27
  • 2021-07-19
  • 2021-08-26
  • 2021-04-20
相关资源
相似解决方案