1、基于Hive数据仓库建模

数据仓库的发展大致经历了这样的三个过程:

报表——>集市——>仓库

简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。这个阶段的大部分表现形式为数据库和前端报表工具。

数据集市阶段:这个阶段,主要是根据某个业务部门的需要,进行一定的数据的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。

数据仓库阶段:这个阶段,主要是按照一定的数据模型,对整个企业的数据进行采集,整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表数据,能够通过数据仓库生成对对业务具有指导性的数据,同时,为领导决策提供全面的数据支持。

2、Hive-数据仓库建模架构

数据仓库的整理架构,各个系统的数据通过ETL同步到操作性数据仓库ODS中,对ODS数据进行面向主题域(需求)建模形成DW(数据仓库),DM是针对某一个业务领域建立模型,具体用户(决策层)查看DM生成的报表

hive数据库建模工具 hive数据仓库建模_数据仓库

3、Hive-数据仓库建模方式

1)分库分表,命名规范,库名以所在数据层开头命名,如:ods_dianxin_test

2)星型和雪花型建模

hive数据库建模工具 hive数据仓库建模_服务器_02

4、Hive-数据仓库建模范式

1)1NF 1NF简单点就是原子性,列不可再分,没有重复的列也没有重复的行, 基本上主要有主键的表都满足第一范式 1、列不可再分 这样就不符合。

2)2NF 1、2NF首先满足1NF 2、非主属性必须依赖于键的全部,如果只依赖于主键的一部分,则需要移出创建新表。 所以第二范式一般是联合主键

hive数据库建模工具 hive数据仓库建模_数据仓库_03

                                 hive数据库建模工具 hive数据仓库建模_运维_04

hive数据库建模工具 hive数据仓库建模_运维_05

 

hive数据库建模工具 hive数据仓库建模_java_06

hive数据库建模工具 hive数据仓库建模_数据_07

 

 3)3NF

 

 

5、Hive-数仓一些专业表称谓

1)事实表:事实表是用来存储主题的主干内容,一些外键指向维度表。事实表一般是没有主键的,基本都是外键。数据的质量完全由业务系统来把握。一般单表字段较多,数据量比较大

hive数据库建模工具 hive数据仓库建模_数据仓库_08

  hive中没有主键

 2)维度表:事实表中某个方向分支,必须有主键,用于关联事实表。一般数据量较小,变化缓慢。

3)宽表:字段和数据量比较巨大,很多维度杂糅在一起。好处:方便查询分析。缺点:没有规范。公共模型

4)拉链表:记录一个事物从开始,一直到当前状态的所有变化的信息。流水表