Hive

1. 什么是数据仓库

数据仓库本质上就是一个数据库。但是数据仓库还是有别于传统的数据库数据仓库是一个面向主题(按照一定主题进行组织的),集成的(数据来自于分散的操作性的数据),不可更新的(主要数据查询),随时间不变化的数据集合,他用于支持企业或组织的决策分析处理。

2. 数据仓库的建立过程

Hive_第1张图片

3. 什么是Hive?

Hive是基于Hadoop的数据仓库解决方案。由于Hadoop本身在数据存储和计算方面有很好的可扩展性和高容错性,因此使用Hive构建的数据仓库也秉承了这些特性。

简单来说,Hive就是在Hadoop上架了一层SQL接口,可以将SQL翻译成MapReduce去Hadoop上执行,这样就使得数据开发和分析人员很方便的使用SQL来完成海量数据的统计和分析,而不必使用编程语言开发MapReduce那么麻烦。

Hive查询语言(HiveSQL或者HQL)的SQL方言:用来查询存储在Hadoop集群中的数据。

Hive最适合于数据仓库应用程序,使用该应用程序进行相关的静态数据分析,不需要快速响应给出结果,而且数据本身不会频繁变化。

Hive不支持记录级别的更新、插入或者删除操作。Hive不支持事务。

当今的数据处理大致可以分成两大类:联机事务处理OLTPon-line transaction processing)、联机分析处理OLAPOn-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

Hive不支持OLTP(联机事务处理)所需的关键功能。而更接近于成为一个OLAP(联机分析技术)工具。

4. Hive的架构图

Hive_第2张图片

如图中所示,Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。

在使用过程中,只需要将Hive看做是一个数据库就行,本身Hive也具备了数据库的很多特性和功能。

HQL的解析和执行过程:

Hive_第3张图片

3、4小节参考:[一起学Hive]之一–Hive概述,Hive是什么


5. Hive命令与函数

命令参考: Hive常用命令与内容

       函数参考:[一起学Hive]之二–Hive函数大全-完整版

6. Hive的分区

Hive分区请参考:Hive分区、分桶操作及其比较

[一起学Hive]之五-Hive的视图和分区

[一起学Hive]之六-Hive的动态分区

7. Hive的udf函数

[一起学Hive]之十八-Hive UDF开发

8. Hive 的数据文件存储格式

Hive存储格式对比

大数据:Hive - ORC 文件存储格式

9. Hive的serde记录格式

常见的serde:csv、tsv、json serde、RegEx、parqut

Hive_10. Hive中常用的 SerDe 和 当前社区的状态

Hive SerDe 使用

json serde: Hive JsonSerde

10. Hive索引

Hadoop Hive概念学习系列之hive里的索引(十三)

11. Hive的视图

Hadoop Hive概念学习系列之hive里的视图(十二)

[一起学Hive]之五-Hive的视图和分区

12. Hive执行方式

HIVE-执行hive的几种方式,和把HIVE保存到本地的几种方式

13. Hive远程安装模式

Hive中metastore(元数据存储)的三种方式:

14. Hive的优化

hive的查询注意事项以及优化总结 .

[一起学Hive]之十二-Hive SQL的优化

Hive的更多资料请参考:

Hadoop Hive概念学习系列

一起学Hive系列文章

你可能感兴趣的:(大数据)