一 入门了解:
1.Hive是基于Hadoop之上的数据仓库。将海量的数据存储到hive做分析处理完成业务逻辑。数据仓库面向数据分析,普通数据库面向快速的读写业务逻辑。
2.hive的本质就是一个数据库,由于面向分析,存储在hdfs之上再好不过。
二 数据仓库:
1.数据仓库是一个面向主题的数据库。例如:要从数据仓库中做一个商品推荐,那么这个主题就是商品。
2.多种数据汇总到数据仓库中,数据可以来自mysql、oracle或者其他业务数据库、也可以是一个文件。总之就是将不同的数据集成起来。
3.数据仓库里面的数据是不可更新,主要是提供数据分析。主要就是做查询,很少做更新操作。
三 数据仓库的结构与建立:
1.首先要有数据源 业务关系型数据库、文档资料、其他数据。
2.对数据源的数据进行抽取、转换、加载到hive。也就是ETL。
3.数据仓库的引擎,
4.前端展示。
四 OLTP应用与OLAP:
1.OLTP是联机事物处理(典型案例就是银行转账),
2.OLAP联机非事物处理(案例就如商品推荐)
五 数据仓库模型:
1.心型模型 例如:商品推荐,以商品信息为中心,向外发散成心型。
2.雪花模型 心型模型可能有不足,就发展成为雪花模型。
六 什么是Hive
1.Hive搭建在HDFS之上。
2.可以用sqoop做etl
3.可以执行HQL,通过hive的sql引擎,把sql转化为mapreduce。
4.可以自定义mapreduce完成一些复杂工作。
5.hive的表实质上就是HDFS的目录或文件。
七 Hive的体系结构
1.Hive的元数据可以存储在mysql或者derby等关系型数库之上。元数据包括表明、表的列、或者分区,表的属性等等。
如图:
2.hql的执行过程 解析器(语法分析)、编译器(生成执行计划)、优化器(优化执行计划)、最后执行。