数据仓库学习笔记1


主要为学习《基于Hadoop生态圈的数据仓库实践 》专栏的笔记

专栏参照 点击打开链接


操作型系统:面向过程、事务处理

分析型系统:面向主题、分析式


操作型系统里面的数据------》ETL(抽取(extract)、转换(transform)和装载(load)

-----------》获取数据(精确性、时效性、历史追溯性)


建模方法:

规范化数据模型:满足3NF,用于企业级数据仓库建模

多维数据模型:按照事实表、维度表来构建数据仓库或数据集市。

       |||||

       V

  星型和雪花型  (具体例子和比较参见点击打开链接)

星型存在一定冗余,雪花型无冗余

雪花模型在维度表、事实表之间的连接很多,因此性能方面会比较低

雪花模型ETL较复杂,不能并行化,星型反之

总之,雪花模型使得维度分析更加容易,比如“针对特定的广告主,有哪些客户或者公司是在线的?”星形模型用来做指标分析更适合,比如“给定的一个客户他们的收入是多少?”




大数据4V特性:Volume —— 数据量大、Velocity —— 处理速度快、Variety —— 数据源多样、Veracity —— 真实性

分布式计算

Hadoop组件:

HDFS —— hadoop分布式文件系统;YARN —— 一个资源调度框架;MapReduce —— 一个分布式处理框架

》HDFS:

Hadoop分布式文件系统负责在集群中的节点或计算机中分散存放数据。如下图所示,把数据上传到HDFS上时,系统会自动做三件事情:

把文件分成数据块。
把数据块分散到HDFS集群中的多台计算机中。
每个数据块被复制成多个块拷贝,块拷贝存在于不同的机器上。

》mapReduce

主要思想是,将数据Map为一个键值对的集合,然后对所有键值对按照相同键值进行Reduce

再次考虑在10TB的web日志中计算‘ERROR’的个数。

在map阶段,识别出每个以‘ERROR’开头的行并输出键值对。在reduce阶段我们只需要对map阶段生成的对进行计数。

<

HDFS分布数据。
向YARN请求资源以建立mapper实例。
在可用的节点上建立mapper实例。
对mappers的输出进行混洗,确保一个键对应的所有值都分配给相同的reducer。
向YARN请求资源以建立reducer实例。
在可用的节点上建立reducer实例。


》YARN

YARN是Hadoop最新的资源管理系统。资源管理系统负责多个应用程序的多个作业可以同时运行。例如,在一个集群中一些用户可能提交MapReduce作业查询,另一些用户可能提交Spark 作业查询。资源管理的角色就是要保证两种计算框架都能获得所需的资源,并且如果多人同时提交查询,保证这些查询以合理的方式获得服务。


Hadoop 生态圈的分布式计算思想

1、使用通用硬件

2、向外扩展而不是向上扩展

3、容错

4、将代码向数据移动


与传统数据仓库架构对应的Hadoop生态圈工具

数据摄取工具 Sqoop

装载和转换数据 Hive

过程管理工具 Falcon

数据目录工具 Hcatalog

SQL查询引擎 Apache Hive(支持Tez、MapReduce和Spark计算框架,不支持Storm)

                      SparkSQL、Impala(是Cloudera公司的查询系统,速度快,主要用于OLAP)

数据可视化工具 Hue(支持Hive、Impala)、Zeppelin(支持SparkSQL)

你可能感兴趣的:(数据仓库)