第一周2月26日
1.Hive的三大组成部分
(1)Hive Clients(客户端)
(2)Hive Services(服务器)
(3) Hive Storage and Computing(存储计算)
2、Hive的组件
Driver、Compiler、Execution Egine、Metastore
3.HBase的特点
(1)HBase是一个适用于非结构化数据存储的数据库,是基于列的模式,为了方便读写用户的大数据内容。
(2)表大:一个表可以有数亿行,上百万列。
(3)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态增加,同一个表中的不同行的可以有截然不同的列。
(4)稀疏:空(null)列并不占用空间,表可以设计的非常稀疏。
(5)数据类型单一:HBase中的数据都是字符串,没有类型。
4、Hive的特点
Hive实质是一款基于HDFS的MapReduce计算框架
(1)针对海量数据的高性能查询和分析系统
(2)可扩展: Hive 可以自由扩展集群的规模,一般情况下不需要重启服务。
(3)延展性: Hive 支持用户自定义函数,用户可以根据自己的需求来实现自定义的函数。
(4)容错性: 良好的容错性,即使节点出现问题 SQL 仍可完成执行。
第二周3月4日
1.数据仓库定义
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。
2.数据仓库基本特性
(1) 面向主题性
(2) 数据集成性
(3) 数据的时变性
(4) 数据的非易失性
3.数据仓库的基本分层
(1) 源数据ODS
(2) 数据仓库DWD和DWS
(3) 数据应用ADS
4.数据仓库分层的原因
(1)空间换时间
通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量的冗余数据;
(2)增强扩展性
不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大;
(3)分层管理
数据分层管理可以简化数据清洗的过程,因为把原来的一步工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误时,往往我们只需要局部调整某个步骤即可。
5.数据仓库分层的好处
(1)清晰数据结构
每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。简单来说,最终给业务呈现的是一个能直接使用业务表,但是它的来源有很多,如果有一张来源表出问题,能够快速准确地定位到问题,并清楚它的危害范围。
(2)把复杂问题简单化
将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的部分,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
(3)减少重复开发
开发一些通用的中间层数据,能够减少极大的重复计算。
(4)屏蔽原始数据的异常
屏蔽业务的影响,不必改一次业务就需要重新接入数据
6.数据仓库和数据库的区别
(1)数据库通常服务于业务,数据仓库通常服务于分析。
(2) 数据来源不同。数据库来自各种业务系统软件产生的数据,或者是由这些业务系统交互的用户产生的数据。数据仓库直接是这些业务系统的一个或者多个数据库或者文件。
(3)数据存放有差别
数据库:数据库在设计的时候很少存放历史数据,通常只是描述某一个业务时刻的数据,随着业务系统的变化而变。
数据仓库:是为了分析的目的,会存放大量的历史数据,是每天抽取业务系统数据库的数据每天存放起来,大部分的数据都是静态的。
(4) 建模方式和数据的冗余(核心)不同
7.Hadoop的特性
(1)高可靠性
(2)高效性
(3)高可扩展性
(4)高容错性
(5)成本低
(6)运行在linux平台上
(7)支持多种编程语言