数仓ODS,DWD,DWS层

数据仓库中的数据表,往往是分层管理、分层计算的;

所谓分层,具体来说,就是将大量的数据表按照一定规则和定义来进行逻辑划分;

  • ADS层: 应用服务层
  • DWS层:数仓汇总层
  • DWD层:数仓明细层
  • ODS层:操作数据(最原始的数据)层 -- 贴源层
  • DIM层:存储维表

ODS层:对应着外部数据源ETL到数仓体系之后的表!

DWD层:数仓明细层;一般是对ODS层的表按主题进行加工和划分;本层中表记录的还是明细数据;

DWS层:数仓汇总层;

ADS层: 应用层,主要是一些结果报表!

分层的意义:数据管理更明晰!运算复用度更高!需求开发更快捷!便于解耦底层业务(数据)变化!

ODS:操作数据层

  1. 主要作用:直接映射操作数据(原始数据),数据备份;
  2. 建模方法:与原始数据结构保持完全一致
  3. 存储周期:相对来说,存储周期较短;视数据规模,增长速度,以及业务的需求而定;对于埋点日志数据ODS层存储,通常可以选择3个月或者半年;存1年的是土豪公司(或者确有需要)

DWD层:数仓明细层

  1. 数据内容:对ODS层数据做ETL处理后的扁平化明细数据
  2. 存储格式:以orc/parquet文件格式存储
  3. 存储周期6个月

需求

清洗过滤

  • 去除json数据中的废弃字段(前端开发人员在埋点设计方案变更后遗留的无用字段)
  • 过滤json格式不正确的(脏数据)
  • 过滤deviceid及account为空的记录
  • 过滤缺少关键字段的记录
  • 过滤日志中时间段错误的记录
  • 过滤爬虫请求(通过useragent标识来分析)

数据解析

将json打平,解析称扁平格式

SESSION分割

数据规范处理

boolean,null,日期...

维度集成

gbs解析

GEOHASH码

IP解析

ip2region

ID_MAPPING

为每一个用户生成一个全局唯一标识

  • 只使用设备ID

适用场景:适合没有用户注册体系,或者极少数用户会进行多设备登录的产品,如工具类产品、搜索引擎、部分小型电商等

  • 关联设备ID和登录ID(一对一)

 成功关联设备 ID 和登录 ID 之后,用户在该设备 ID 上或该登录 ID 下的行为就会贯通,被认为是一个 全局 ID 发生的。在进行事件、漏斗、留存等用户相关分析时也会算作一个用户

  • 关联设备ID和登录ID(多对一)

一个用户在多个设备上进行登录是一种比较常见的场景,比如 Web 端和 App 端可能都需要进行登录。支持一个登录 ID 下关联多设备 ID 之后,用户在多设备下的行为就会贯通,被认为是一个ID 发生的

  •  关联设备ID和登录ID(动态修正)

基本原则,与方案3相同

修正之处,一个设备ID被绑定到某个登陆ID(A)之后,如果该设备在后续一段时间(比如一个月内)被一个新的登陆ID(B)更频繁使用,则该设备ID会被调整至绑定登陆ID(B)

新老访客标记

如果数据量过大,可以使用reduce端join实现,或bloomfilter实现

结果保存

数据输出为parquet格式压缩编码用snappy

DWS层

对数据做轻度聚合

  • 流量概况主题

   按照guid,sessionid求起始时间,结束时间,访问页数,新老标记,地域,入口页,跳出页

  逻辑:按照guid,sessionid分组得到起始,结束时间,新老标记,访问页数,LEFT JOIN窗口guid,sessionid ORDER BY timestamp

ADS

纬度建模

  • 星型模式
  • 雪花模型
  • 星座模型
  • 4
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据仓库中的各个次可以按照数据处理的不同阶段来划分,常见的包括: 1. ODS(Operational Data Store):用于存放从各个业务系统中提取的原始数据,也称为操作型数据存储。ODS主要用于数据的收集、清洗、去重、转换等操作,保证数据的准确性和完整性。 2. DWD(Data Warehouse Detail):用于存放从ODS中提取的经过清洗和加工的详细数据,也称为明细数据DWD主要用于支持数据的分析和建模,为后续的数据处理提供基础。 3. DWS(Data Warehouse Summary):用于存放从DWD中汇总而来的聚合数据,也称为汇总数据DWS主要用于支持报表和分析需求,提高数据分析的效率。 4. DWI(Data Warehouse Integrated):用于存放从DWS中集成而来的数据,也称为集成数据。DWI主要用于数据挖掘、分析和建模,提供企业级的数据支持。 5. DIM(Dimensional):用于建立维度模型,描述企业的业务过程和业务指标。DIM主要用于支持OLAP(联机分析处理),提高数据分析的效率。 6. UEP(Universal Enterprise Platform):用于构建企业级的数据集成和交换平台,实现不同系统之间的数据集成和交换。UEP主要用于支持企业级的数据整合和管理。 综上所述,不同的数据仓库次在不同的阶段扮演着不同的角色,共同构建了一个完整的数据仓库体系,为企业决策提供了强大的数据支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值