Hive数据仓库分层架构

一、为什么要进行数据分层?数据分层的好处?

1、原因

对数据进行分层的一个主要原因就是希望在管理数据的时候,能对数据有一个更加清晰的掌控。

2、好处

清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。
数据血缘追踪:简单来讲可以这样理解,我们最终给业务呈现的是一张能直接使用的张业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。
减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
把复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
屏蔽原始数据的异常:屏蔽业务的影响,不必改一次业务就需要重新接入数据。

二、hive数仓分为哪几层?

来源于各种途径的日志表(以json格式存在的数据),通过工具解析传入ODS层

1、ODS层:数据运营层(贴源层)

这一层是最贴近源数据的一层,数据源中的数据经过抽取、洗净、传输,装入本层,一般来讲数据不需要进行过多的数据清洗工作,原封不动的接入原始数据即可,至于数据的去噪、去重、异常值处理等过程可以放在后面DW层来做

作用
这一层的作用相当于是一个接口层,用来引入数据。
例如:
把1号一天的数据存储起来,等待2号集中处理这些数据,这我们叫做T+1模式,这有一个调度平台,可以定时,在凌晨0点的时候将数据存入ODS层,如果出错就会发出预警,将错误信息发送到手机,然后你去处理

我们需要做的是?
建好表。
例如:
我们建表的时候创建一个varchar(20)类型的表格,这时候来了一个varchar(30)类型的数据,这个时候就会报错,程序就会无法继续运行。所以一应要建好表

2、DW层: 数据仓库层

(1)DWD层:数据明细层

对ODS层做预处理,根据需求对数据进行处理,例如给定一些数据ID、name、age、region、user_type,这其中有中文,就可以将这些中文使用case when *** then ** end方式增加一个标签代表这个数据

(2)DWM层:数据中间层

该层会在DWD层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表,提升公共指标的复用性,减少重复加工。直观来讲,就是对通用的核心维度进行聚合操作,算出相应的统计指标。

(3)DWS层:数据汇总层(服务)

将上一层处理过的数据进行汇总,一遍进行后续查询
在这里插入图片描述

3、ADS层:应用层

在DW层处理完成的数据通过工具进行可视化加工,当数据处理完成存储在Hive中,处理完成的数据可以通过ETL工具推送到关系型数据库中(例如Mysql),一般情况下,数据都有一个储存周期,400天左右,我们使用的可视化-工具平台(基于关系型数据库Mysql储存时间400天左右),可以进行同比(年)、环比(月),这些数据形成一个数据集(结果),最后一步就是根据业务需求来配置报表

感谢阅读,我是啊帅和和,以为大数据专业大四学生,祝你快乐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊帅和和。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值