第一章 概述
1-1 课程概述
什么是hive?
答:hive构建在hadoop hdfs 上的数据仓库。
什么是数据仓库?
答:数据仓库实际上就是一个数据库,数据仓库的特点:引入冗余,分析数据;
数据库的特点:避免冗余,捕获数据。
1-2 数据仓库简介
什么是数据仓库?
答:数据仓库是一个面向主题的,集成的,不可更新的,随时间不变化的数据集合,
它主要用于支持企业或组织的决策分析处理。
数据仓库的结构和建立过程
答:
1、数据源 (业务数据系统、文档资料、其他数据)
2、数据存储及管理-ETL (抽取Extract、转换Transform、装载Load)
3、数据仓库引擎 (服务器)
4、前端展示 (数据查询、数据报表、数据分析、各类应用)
OLTP应用和OLAP应用
答:
1.OLTP(on-line transaction processing) 联机事务处理
例:银行转账
2.OLAP(on-line analytical processing) 联机分析处理
例:商品推荐系统
数据仓库中的数据模型
1、星型模型
2、雪花模型
1-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的体系结构
2-1 hive的体系结构之元数据
hive的元数据
- hive将元数据存储在数据库中(metastore),支持mysql、derby等数据库(mysql、derby、oracle)
- hive中的元数据包括表的名字、表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
2-2 hive的体系结构之HQL的执行过程
解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。
生成的查询计划存储在HDFS中,并在随后又MapReduce调用生成。
2-3 hive的体系结构
hadoop
- 用HDFS进行存储,利用MapReduce进行计算
元数据存储 (MetaStore)
- 通常是存储在关系数据库 mysql,derby等