---
title: Hive简介
description: "Hive是基于Hadoop的一个数据仓库工具，可以将结构化的数据文件映射为一张表，并提供类SQL查询功能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/bds/kunpengomnidata_20_0120.html
sourcePath: /source/zh/kunpengboostkithistory/2200/bds/kunpengomnidata_20_0120.html
indexId: c78dcd099462f957849bd22f67e40218eed88b448dd890a8fb98363a452a00e571
---
# Hive简介

Hive是基于Hadoop的一个数据仓库工具，可以将结构化的数据文件映射为一张表，并提供类SQL查询功能。

图1 Hive架构图

流程大致步骤如下。

1. 用户提交查询等任务给Driver。
2. 编译器获得该用户的任务Plan。
3. 编译器Compiler根据用户任务去MetaStore中获取需要的Hive的元数据信息。
4. 编译器Compiler得到元数据信息，对任务进行编译，先将HiveQL转换为抽象语法树，然后将抽象语法树转换成查询块，将查询块转化为逻辑的查询计划，重写逻辑查询计划，将逻辑计划转化为物理的计划（TEZ），最后选择最佳的策略。
5. 将最终的计划提交给Driver。
6. Driver将计划Plan转交给ExecutionEngine去执行，获取元数据信息，提交给JobTracker或者SourceManager执行该任务，任务会直接读取HDFS中文件进行相应的操作。
7. 获取执行的结果。
8. 取得并返回执行结果。
  从上面的流程可以看出，影响Hive执行的主要有两部分。 编译器任务编译。这部分会直接影响查询计划，不同的查询计划影响实际的物理计划（TEZ）。 TEZ引擎。这个是Hive任务的主体。 更多关于Hive信息请参见Hive官网(https://hive.apache.org/)。
