# hive

#### 介绍
Apache Hive 是可实现大规模分析的分布式容错数据仓库系统。该数据仓库集中存储信息，您可以轻松对此类信息进行分析，从而做出明智的数据驱动决策。Hive 让用户可以利用 SQL 读取、写入和管理 PB 级数据。
Hive 建立在 Apache Hadoop 基础之上，后者是一种开源框架，可被用于高效存储与处理大型数据集。因此，Hive 与 Hadoop 紧密集成，其设计可快速对 PB 级数据进行操作。Hive 的与众不同之处在于它可以利用 Apache Tez 或 MapReduce 通过类似于 SQL 的界面查询大型数据集。

#### 软件架构
Hive主要包含的组件有Driver，Metadata库，用户接口（CLI接口，JDBC/ODBC接口）和Thrift Server接口等。
- Driver组件：Hive的核心，Hive被称为解析器的根本所在，包含编译器（Complier），优化器（Optimizer）和执行器（Executor），主要负责对Hive SQL语句进行解析，编译优化，生成相应的执行计划，然后交给底层的mapreduce框架完成计算输出结果。
- Metadata：存储Hive的元数据，即描述数据的数据，就是Hive有哪些表，表内有什么字段，在什么DB，对应什么文件等等，默认的元数据库是Derby库，只能允许一个会话连接，即单用户模式，基本不实用，为了支持多用户，基本需要将元数据库改配成MySQL或者Oracle等数据库中。
- 用户接口：包含CLI（Command Line Interface 命令行接口）、JDBC/ODBC接口和Web UI接口。实现客户端与服务端的交互。
- Thrift Server和JDBC/ODBC：可扩展可跨语言服务接口，Thrift Server提供了JDBC和ODBC连接，实现不同语言调用Hive的接口。

#### ARM支持：

1. [移植指南](https://gitee.com/openeuler/bigdata/blob/master/Docs/%E7%A7%BB%E6%A4%8D%E6%8C%87%E5%8D%97/hive.md)
2. [部署指南](https://gitee.com/openeuler/bigdata/blob/master/Docs/%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97/hive.md)
3. [调优指南](https://gitee.com/openeuler/bigdata/blob/master/Docs/%E8%B0%83%E4%BC%98%E6%8C%87%E5%8D%97/hiveOptimization.md)


#### 安装教程

1.  xxxx
2.  xxxx
3.  xxxx

#### 使用说明

1.  xxxx
2.  xxxx
3.  xxxx

#### 参与贡献

1.  Fork 本仓库
2.  新建 Feat_xxx 分支
3.  提交代码
4.  新建 Pull Request


#### 码云特技

1.  使用 Readme\_XXX.md 来支持不同的语言，例如 Readme\_en.md, Readme\_zh.md
2.  码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4.  [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目，是码云综合评定出的优秀开源项目
5.  码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6.  码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
