
Hive用户手册(Hive_User_Guide)_中文版.pdf
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
《Hive用户手册》是一份详尽介绍Apache Hive系统的文档,提供了关于如何安装、配置和使用Hive进行大数据处理与查询操作的相关指导。本手册以中文呈现,便于国内开发者学习使用。
### HIVE结构
Hive 是建立在 Hadoop 上的数据仓库基础架构。它提供了一系列的工具,可以用来进行数据提取、转换、加载(ETL),这是一种存储、查询和分析存储在Hadoop中的大规模数据的方法。 Hive定义了简单的类SQL查询语言,称为QL,允许熟悉SQL的用户查询数据,并且也支持开发自定义mapper和reducer来处理内建的mapper和reducer无法完成的复杂任务。
#### 1.2 HIVE架构
Hive 的结构可以分为以下几个部分:
- **用户接口**:包括CLI、Client 和 WUI。其中最常用的是 CLI,启动时会同时启动一个 Hive 副本; Client 是连接到Hive Server的客户端,在启动时需要指定Hive Server所在的节点并在此节点上启动Server;WUI是通过浏览器访问Hive的方式。
- **元数据存储**:通常存放在关系数据库中(如mysql、derby)。
- **解释器、编译器、优化器和执行器**:完成 HQL 查询语句的词法分析、语法解析,以及查询计划生成。这些计划会被保存在HDFS上,并随后由MapReduce调用执行。
- **存储与计算**:数据存放在HDFS中;大部分查询通过MapReduce来处理(例如不包含*号的选择操作不会产生MapReduce任务)。
#### 1.3 Hive 和 Hadoop的关系
Hive 构建在 Hadoop之上,所有对查询语句的解释、优化和生成查询计划由Hive完成。数据存储于HDFS中,并且所有的数据都保存在Hadoop中;查询被转化为MapReduce任务,在Hadoop环境中执行(有些操作无需MR任务)。两者均采用UTF-8编码。
#### 1.4 Hive 和普通关系数据库的异同
| 特性 | Hive | 关系型数据库 |
|----------|-----------------------|---------------------------|
| 查询语言 | HQL | SQL |
| 数据存储位置 | HDFS | 块设备或本地文件系统 |
| 索引 | 无 | 存在 |
| 执行方式 | MapReduce Executor | 自己的执行引擎 |
| 查询延迟 | 高(大数据量) | 低 |
| 数据规模处理能力| 大数据量 | 小数据量 |
1. **查询语言**:由于SQL在数据分析领域广泛使用,Hive设计了类SQL的语言——HQL。
2. **存储位置**:所有Hive的数据都存放在分布式文件系统(如 HDFS)中;关系型数据库通常将数据保存于本地或块设备上。
3. **索引与执行效率**:对于特定条件下的数据访问,由于没有建立索引和暴力扫描整个数据集的原因,Hive的查询延迟较高。然而,通过MapReduce并行处理大数据量的优势依然存在;关系型数据库通常会为一些列定义索引来提高少量特定条件下数据的访问速度。
4. **执行**:大多数情况下Hive使用MapReduce来完成查询任务(例如select * from tbl不需要生成MR作业);而关系型数据库有自己独立的执行引擎。
全部评论 (0)


