1.前言
之前给大家讲述了基于HDFS的分布式存储,很多企业特别是互联网行业在HDFS上都搭建了Hive数据库,用来存储结构化数据
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载
这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制
hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行
Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计
使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序
hive是十分适合数据仓库的统计分析和Windows注册表文件
随着企业的数据种类越来越多,数据量越来越大,设计什么样的存储,以及如何高效的管理这些数据就成了企业当中一个重要的问题
这几年,数据仓库和仓库分层存储等技术变得越来越流行了
2.数据仓库
数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
数据仓库是一个过程而不是一个项目,是一个环境而不是一个和产品。
数据仓库为用户提供了用于决策支持的当前和历史数据,可以随时灵活的使用。
数据仓库技术是为了有效地把操作型数据集成到统一的环境当中,以提供决策型数据访问的各种技术和模块的总称。
说白了,其实就是为了让用户使用的更快、更方便的查询所需要的信息。
3.数据仓库的特点
(1)面向主题
(2)集成
(3)相对稳定
(4)反映历史变化
4.数据仓库的组成
- (1)数据仓库的数据库
是整个数据仓库环境的核心,是用来存放数据的地方,提供对数据检索的支持。
相对于操作型的数据库来说,特点是对海量数据的支持和快速检索。 - (2)数据抽取工具
是把数据从各种各样的存储方式中拿出来,进行必要的转换、整理、再存放到数据仓库内。 - (3)元数据
是描述数据仓库内数据的结构和建立方法的数据 - (4)访问工具
为用户访问数据仓库提供手段 - (5)数据集市
为了特定的应用目的和应用范围,而从数据仓库中独立出来的一部分数据
5.数据仓库分层架构
数据仓库采用分层架构,分为缓冲层、操作数据层、明细数据层、汇总数据层、数据集市层
- (1)缓冲层(buffer):用于存储每天的增量数据和变更数据
- (2)操作数据层(ODS):数据仓库的细节数据层,对缓冲层数据进行沉淀,减小了抽取的复杂性
- (3)明细数据层(DWD):属于分析的公共资源
- (4)汇总数据层(DWS)
- (5)数据集市层(DM)
6.分层存储的好处
数据结构更明确;
数据血缘跟踪,便于管理;
复杂问题简单化;
表共用,减少了重复计算;
屏蔽原始数据的异常和业务变更的影响;