Hive入门(一)
Hive入门(一)
什么是Hive?
Hive是个数据仓库,数据仓库就是数据库,但又与一般意义上的数据库有点区别
实际上,Hive是构建在hadoop HDFS上的一个数据仓库。
什么又是数据仓库?
而数据仓库是一个面向主题的、集成的、不可更新的、随时间不变化的数据集合,它用于支持企业或组织的决策分析处理
- 面向主题,那么什么又是主题呢?主题就是指用户使用数据仓库决策时所关心的重点的方面,比如商品的推荐系统,那么这里我们所关心的主题就是商品的信息
- 数据仓库是个集成的数据库,也就是说数据仓库的数据来自于分散的操作性的数据,我们把分散的操作数据从原来的数据当中抽取出来进行加工和处理,然后满足我们的要求,这样的数据才能进入数据仓库。也就是说原来的数据有可能来自Oracle,MySQL,有可能来自于文本文件,我们把数据集成起来,才形成数据仓库
- 数据仓库主要是为决策分析所提供数据,所以所涉及到的操作主要是数据的查询,一般都不会在数据仓库当中做更新和删除,这就是数据仓库的不可更新性
- 并且数据仓库当中的数据是随着时间推移而不产生变化的集合
数据仓库的结构和建立过程
数据源:
- 业务数据系统
- 文档资料
- 其他数据
然后我们要对数据进行一个抽取转换装载的过程
数据存储及管理:
- 抽取(Extract)
- 转换(Transform)
- 装载(Load)
由于来自不同数据源的数据格式都不一样,因此需要转换,只有经过转换的满足格式的数据才能被进行装载在数据仓库当中
建立好数据仓库之后当然需要提供对外服务,这个时候就需要建立数据仓库引擎
数据仓库引擎:
- 服务器
而在数据仓库引擎当中包含了不同的服务器,不同的服务器提供不同的服务
前端展示:
- 数据查询
- 数据报表
- 数据分析
- 各类应用
OLTP应用与OLAP应用
On-Line Transaction Processing联机事务处理系统(OLTP)也称为面向交易的处理系统。它所关注的焦点是事务处理,典型的OLTP应用就是我们的银行转账。同样进行转账的业务,很明显扣钱和加钱的操作应该同时成功或者同时失败,不应该存在一个成功一个失败的情况,所以必须有事务的保证。OLTP系统操作频率会非常高,比如银行的转账业务时时刻刻都会发生
On-Line Analytical Processing联机分析处理系统(OLAP)。最典型的的应用就是商品推荐系统。这种应用是基于原来的历史数据,从而进行数据的分析和挖掘,然后提供给别的系统所使用。这种OLAP系统主要面向的是查询,所以一般这种系统不会做更新、插入、删除操作
数据仓库中的数据模型
星形模型
雪花模型
在星形模型基础上创建了雪花模型
那么什么又是Hive?
- Hive是建立在hadoop HDFS上的数据仓库基础架构
- Hive可以用来进行数据提取转化加载(ETL)
- Hive定义了简单的类似SQL查询语言,称为HQL,它允许熟悉SQL的用户查询数据
- Hive允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作
- Hive是SQL解析引擎,它将SQL语句转移成M/R Job,然后在hadoop执行
- Hive的表其实就是HDFS的目录/文件