文章目录
1. hadoop生态之hive定位
2. 数据仓库 简介
2.1 数据仓库的概念
- 面向主题的, 集成的, 不可更新的,随时间不变化的数据集合,主要用于查询,
它用于支持企业或组织的决策分析处理
2.2 数据仓库听结构及其建立过程
数据源-> | ETL -> | 数据仓库引擎-> | 前端展示 |
---|---|---|---|
业务数据系统, 文档资料,其他数据 | 抽取-转换-装载(Extract, Transform, Load) | 服务器 | 数据查询, 数据报表,数据分析,各类应用 |
2.3 OLTP和OLAP的区别
- OLTP
- 联机事务处理(银行转账), 要么全部成功, 要么全部失败
- OLAP
- 联机分析处理(商品推荐系统), 从历史数据中挖掘数据
2.4 数据模型
- 星型模型
- 面向主题
- 雪花模型
- 基于星型模型发展起来的
3. 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的目录, Hive的数据其它就是HDFS目录内的文件
4. Hive的体系结构
- Hadoop
- 用HDFS进行存储, 利用MapReduce进行计算
- Hive的元数据
- Hive将元数据存储在数据库中(MetaData),支持mysql和derby等数据库
- Hive 中的元数据包括表的名字, 表的列和分区及其属性, 表的属性(是否为外部表等), 表的数据所在目录等.
- HQL的执行过程
- 解析器: 语法分析
- 编译器:生成HQL的执行计划
- 优化器: 生成最终的执行计划