Hive企业高级应用

一.数据仓库的架构设计

数据仓库的主要工作就是ETL ( Extract-Transform-Load)

1.2数据架构

架构原则:先水平,再垂直

数据架构分三层:

源数据落地区: (SDF source data file)

数据仓库层: DW Data WareHouse

数据集市层: DM Data Market

数据仓库层进一步分三层

源数据层:DWB Data WareHouse Base

细节数据层:DWD Data WareHouse

汇总数据层:DWS Data WareHouse Summary

源数据层:

存放生产系统的原始数据,清洗掉不符合质量的数据,主要是满足未来大量的不可预知的需求,该层数据通常需要永久保留

细节数据层:

按主题进行组织保留数据,数据粒度与生产系统一致,除了要满足当前可见的数据服务外,还要满足一定的不可预知的应用需求

汇总数据层

该层数据按主题进行组织,数据粒度与细节数据层保持一致

面向分析型应用进行细粒度的统计和沉淀,并为可预见的多个应用提供数据

二.数据仓库的建模:

概念定义:

数据模行是抽象描述现实世界的一种工具和方法

2.1 数据仓库建模的阶段发展:

简单报表阶段

数据集市阶段

数据仓库阶段

2.2数据建模的意义

进行全面的的业务梳理改进业务流程

建立全方位的数据视角,消灭信息孤岛和数据差异

解决业务的变动和数据仓库的灵活性

帮助数据仓库系统本身的建设

2.3如何构建数据模型

数据模型的层次划分

业务建模:主要解决业务层面的分解和程序化。

领域建模:主要是对业务模型进行抽象处理

逻辑建模:主要就是写sql

物理建模:生成表

2.4构建方法:范式建模法

维度建模法

实体建模法

2.5范式建模法:

建模方法:六大范式

第1范式-1NF:无重复的列、列不可再拆分。

第2范式-2NF:属性完全依赖于主键

第3范式-3NF:属性不依赖于其它非主属性,即属于依赖于主键不能出现传递依赖。

巴斯-科德范式(BCNF),第四范式(4NF),第五范式(5NF,又称完美范式)

优点:从关系型数据角度出发,结合了业务系统的数据模型能够比较方便的实现数据仓库的建模

缺点:限制了整个数据仓库模型的灵活性

2.6维度建模法:

按照事实表,维度表来构建数据仓库.常用的方法星型建模法,雪花建模法

星型建模法:

维度表全部直接关联到事实表

雪花建模法:

维度表并非全部关联到实习表中,有维度表关联维度表的情况

2.6.2星型建模法,雪花建模法的区别;

相同点:雪花模型都是属于星型模型的扩展,属于星型模型,两者都是围绕事实表,维度表展开模型构建,只是层次设计不近相同

差异点:星型架构是一种非正规化的结构,有一定的数据冗余

雪花模型:它对星型模型的维表进一步层次化,

2.6.2对比总结:

数据规范性:雪花胜于星型。

性能:雪花的表关联较多,并行性和计算性能上会低于性能上往往低于星型。

ETL开发:雪花关系多则关联多,代码量较复杂一些。而星型数据较集中,关联少,代码量会少一些。

实际使用,两者应用的均比较多,但星型略胜一筹。

2.7维度建模的优缺点:

优点:相比3NF星型模式在性能上占据明显的优势

仅围绕业务,可以直观反应业务模型的业务问题,不需要经过特别抽象处理

缺点:

需要进行大量的数据预处理,带来大量的数据处理工作

数据冗余大

维护成本增大

三.数据分析

定义:基于给定的大批量的源数据,通过数据统计分析相关的方法,

官方定义:数据分析是指用适当的统计分析(当下也包含机器学习等数据挖掘)的方法

3.2专业术语

OLTP

全称:on-line transaction processing。其是数据库的主要应用,主要是执行基本日常的事务处理,如数据库记录的增删查改.

特点:

实时性要求高,操作完后立马看见结果

数据量不大

交易一般是确定的

高并发,并且要求满足ACID原则

QPS

全称:Query per seconds ,每秒请求数

拿该指标作为系统的并发量最重要的衡量标准之一

数据库事务ACID四大特性

原子性:只有成功或者失败没有中间状态,如果执行错误会回滚到事务没开始执行之前

一致性:成功之后不会发生回滚

隔离性:

持久性:做的更改会持续存在于,不会发生回滚

3.3hive对数据分析的支持

函数分类

分析函数:

ntile: 分组

row_number:按照顺序不关心是否有相等情况

rank:排序按照顺序,关心想等的情况 ,相等的情况,会留下空位 1,2,2,4,4,6.....

dense_rank 关心相等的情况, 相等的情况不会留下空位 1,2,2,3,3,4,4,5,5.......... 例如颁奖

窗口函数:

lag :lag(列名,往上几行,)第三个参数为默认值

lead: lead(列明,往下几行, )第三个参数为默认值

first_value:区分组内排序后,截止至到当前行,取第一个值

last_value: 取最后一个值

over()从句:指定分析窗口函数的细化落围规则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值