1、数仓概念和了解
1.1、数据仓库的概念
业务简单来说就是用户买一个商品,配送到订单完成这条线。
数据仓库就是面向主题的、集成的、随时间改变、反映历史变化的数据集合;通过数据采集工具将详细的原始数据采集到数据表中,然后将这些数据进行清洗替换存储到事务表中,再将事务表中的数据经过聚和操作生成应用指标为公司的决策提供数据支持。
1.2、数仓的特点
面向主题,集成,随时间改变,非易失
主题是一个抽象概念, 简单的说就是与业务相关的数据类别,每 个主题基本对应一个宏观的分析领域。
集成与面向主题密切相关,将多个分散的数据源统一成一致的、无歧义的个数据,比如产品名冲突,单位不一致问题, 完成此类整合后该数据仓库可称为集成的
数据仓库中的数据反映某一历史时间点的数据快照,但一般数据仓库不是永久存储而是存在生命周期。
数据一旦进入数据仓库, 数据就不应该再有改变,操作型环境中的数据一般都会频繁的更新,而 在数据仓库环境中一般不进行数据更新,当改变的操作性数据进入数据仓库时会产生新的记录。
1.3、业务痛点
数据质量低
重复建设
数据资产模糊,问题难定位,周期长
无法应对频繁临时需求
代码耦合性高
1.4、常见模型优缺点
星型模型:非正规化
不存在渐变维度
有冗余数据
查询效率可能会比较高
不用过多考虑正规化因 素,设计维护较为简单
雪花模型:正规化
数据冗余少
有些数据需要连接才能获取,可能效率较低
规范化操作较复杂,导致设计及后期维护复杂
实际应用中,可以采取星型和雪 花两种模型的混合体
1.5、维表设计方法
选择维度
确定主维表
梳理维度关系
定义维度属性
1.6、事物表设计原则
事实完整性
粒度一致性
事实可加性
单位统一
空值处理
维度退化
事实易用性
业务相关
1.7、事实表的设计流程
1.选择业务 | 在明确了业务需求以后,接下来需要进行详细的需求分析,对业务的整个生命周期进行分 析,明确关键的业务步骤,从而选择与需求有关的业务过程。 |
2.声明粒度 | 粒度传递的是与事实表度量有关的细节层次。明确的粒度能确保对事实表中行的意思的理 解不会产生混淆,保证所有的事实按照同样的细节层次记录。 |
3.确定维度 | 完成粒度声明以后,也就意味着确定了主键,对应的维度组合以及相关的维度字段就可以 确定了。 |
4.确定事实 | 事实可以通过回答“过程的度量是什么”来确定。应该选择与业务过程有关的所有事实, 且事实的粒度要与所声明的事实表的粒度一致。事实有可加性、半可加性、非可加性三种类型。 |
5.冗余维度 | 事实表中会冗余方便下游用户使用的常用维度, 以实现对事实表的过滤查询、控制聚合层次、排序数据以及定义主从关系等操作。 |
1.8、一般数据模型分层及规范
一般数仓模型数据调用需遵循以下几点:
禁止逆向调用 避免同层调用 优先使用公共层 避免跨层调用
2、OneData数据模型--专有名词解释
业务过程: 指在业务中发生的最小单元的行为或事务,不可再拆分事件,比如创建订单,浏览网页等等。业务过程产生的行为明细, 比如支付了一笔订单,浏览了某个网页,最终都会汇集到事实表中,而大部分情况下,事实表都会聚焦于某个特定的业务过程。
原子指标: 原子指标是对指标统计口径、具体算法的一个抽象。
业务限定: 在进行数据分析时,有时需要根据业务规则来定义一些限定条件,以此来过滤出符合条件的记录。比如要统计【PC端访客 数】这个指标,则需要先创建【PC端】这个业务限定。这个业务限定可以用于其他相同规则的指标定义,比如【PC端浏览次数】等。
派生指标: 派生指标即常见的统计指标,为保证统计指标标准、规范的生;基于四部分生成:原子指标(明确统计口径, 即计算逻辑)、业务限定(统计的业务范围,筛选出符合业务规则的记录)、统计周期(统计的时间范围,比如最近一天, 最近30天等)、统计粒度(统计分析的对象或视角,定义数据需要汇总的程度,可理解为聚合运算时的分组条件,粒度是维度的一个组合,比如某个指标是某个卖家在某个省份的成交额,那么粒度就是卖家、地区这两个维度的组合)。
2.1、指标体系生成
原子指标(例如签约额度)+统计周期(日期时间)+统计粒度(xx楼栋)+业务限定(区域)=派生指标(最近xx天xx楼栋xx区签约额度多少)
2.2、数据采集流程和同步场景
方案1 适用于小数据量或者没有增量标记的表
方案2 适用日志、流水类数据
方案3 通用方案,一般都采用此场景
2.3、数据获取与采集-操作步骤
数据库--->flinkX(chunjun)--->目标表
定义连向数据库的数据源
新建数据同步任务
配置数据同步任务,包括字段、方式
配置调度和依赖
保存、提交、测试、部署