数据中台建设方法论

传统数据存储的缺点:

生活中的数据来源可以是

  • 小程序
  • APP
  • 网站
  • 日志
  • 物联网loT
  • 隐藏行为
  • ......

1、存储方式比较单一。

2、不方便统一管理。

3、不方便同一分析。

4、如果是关系型的数据,表比较单一和少。

5、挖掘数据的价值难度加大,无法充分挖掘数据价值。

大致工作流程

  1. 数据存储
    • excel表格存储
    • mysql存储
    • 本地文件夹
  2. 数据分析
    • 人工对账分析
    • Excel表格分析
    • mysql数据库相关分析
  3. 数据应用
    • 出表格
    • 画图(柱状图,折线图,饼状图...)

数据仓库

大致理解

  1. 数据会被离线或者实时采集到数据仓库中ODS层内进行存储
  2. 理论上来说,数据怎么产生,就怎么采集到ODS层中,即便存在乱码或脏数据,尽量保留原始数据状态的原则。
  3. 但是有时候在做数字化转型的时候,采集数据的时候,会稍微的做一些数据清洗,数据替换等工作
  4. 近几年大部分企业在做数据仓库的时候,用的技术是hive。
  5. 采集的工具:
    • flume采集
    • sqoop数据同步,底层是基于MR(停止使用)
    • dataX (离线同步)
    • chunjun(flinkX)(实时同步)
    • SeaTunnel数据同步平台(flink,spark,自带的)

数据仓库的特点

  1. 面向主题

    主题是一个抽象概念, 简单的说就是与业务 相关的数据类别,每个主题基本对应一个宏观的分析领域

  2. 集成

    与面向主题密切相关,将多个分散的数据源统一成一致的、无歧义的数据个时候,在放到数据仓库中,比如产品名冲突,单位不一致问题, 完成诸如此类整合后该 数据仓库可称为集成的

  3. 随时间变化

    数据仓库中的数据反映了某一历史时间点的数据快照,但一般数据仓库不是永久存储而是存在生命周期

  4. 非易失

    数据一旦进入数据仓库, 数据就不应该再有改变。 操作型环境中的数据一 般都会频繁的更新,而 在数据仓库环境中一般 不进行数据更新,当改 变的操作性数据进入数 据仓库时会产生新的记 录,这样就保留了数据 变化的历史轨迹

数据仓库的业务痛点:

  • 数据资产模糊
  • 无法 应对频繁临时需求
  • 数据质量低
  • 问题难定位,周期长
  • 重复建设
  • 代码耦合性高

星型模型

  • 非正规化
  • 不存在渐变维度
  • 有冗余数据
  • 查询效率可能会比较高
  • 不用过多考虑正规化因素,设计维护较为简单

雪花模型

  • 正规化
  • 数据冗余少
  • 有些数据需要连接才能获取,可能效率较低
  • 规范化操作较复杂,导致设计及后期维护复杂
  • 实际应用中,可以采取星型和雪花两种模型的混合体

维表的设计方法

  1. 选择维度
    • 作为维度建模的核心, 需保证企业级数据仓库维度唯一性
    • 维度一般作为查询的约束条件、分组、排序关键属性,所以可以从需求出发来选择维度
  2. 确定主维表
    • 主维表一般是直接从业务系统同步而来,它是分析事实中所需要环境描述 的最基础、最频繁的维度属性集合
    • 比如:用户维度从业务系统用户信息表中直接抽取
  3. 梳理维度关系
    • 确定哪些表与主维表存在关联关系,并选择其中某些表用于生成维度属性
    • 梳理主维表与其他维 表关系,如一对多、 多对一、一对一等关系
  4. 定义维度属性
    • 从主维表或者相关联维表中选择维度属性或生成维度属性
    • 维护描述属性与其他维度关联关系字段

事实表设计原则

  1. 事务事实表:描述业务过程,跟踪空间或时间上某点的度量事件保存的是最原子的数据,如:下单流水、支付流水等
  2. 周期快照事实表:具有规律性的、可预见的时间间隔产生快照每行代表某个时间周期的一个实体,如:库存快照表
  3. 累计快照事实表:描述业务过程,跟踪空间或时间上某点的度量事件保存 的是最原子的数据,如:交易全流程事实表
  • 设计原则

    事实完整性、粒度一致性、事实可加性、维度退化、事实易用性、单位统一、业务相关、空值处理

事实表设计流程

设计步骤:

  • 选择业务
  • 声明粒度
  • 确定维度
  • 确定事实
  • 冗余维度

一般数仓模型数据调用需遵循以下几点:

  • 禁止逆向调用
  • 避免同层调用
  • 优先使用公共层
  • 避免跨层调用

Onedata数据模型

指标体系生成

原子指标+统计周期+统计粒度+业务限定=派生指标

数据获取和采集

数据采集流程和同步场景

  1. 方案1:适用于小数据量或者没有增量标记的表

    全量同步->当天数据全量抽取->插入全量表当天全量分区

  2. 方案2:适用日志,流水类数据

    增量同步->当天数据增量抽取->插入增量表当天增量分区

  3. 方案三:通用方案,一般都采用此场景

    增量同步->插入增量表当天增量分区+全量表T-1全量分区->插入全量表当天全量分区

数据加工和清洗

概述

  • 不完整数据、错误数据、冗余数据
  • 元数据不一致、数据缺失、数据错误、数据冗余、数据合并
  • 原则:能使用SQL的情形下,尽量使用SQL

元数据不一致

  • 常用方法:定义标准元数据,创建Map表或者定义转换规则,清洗数据

数据缺失

  • 常用方法:1-填充固定值;2-填充统计值;3-填充拟合值

数据错误

  • 常用方法: 根据实际问题分析
    1. 格式错误: 隐式转换和显式转换;定义成String型,通过SQL进行预检查
    2. 取值异常: 根据业务规则进行约束检查,根据统计信息判断是否异常
    3. 对象相同,记录不同:确认不同数据来源的可信度,横向对比,根据其他对象信息判断,纵向对比,结合该对象其他信息判断。
posted @ 2024-06-13 20:42  yu_lu  阅读(31)  评论(0)    收藏  举报