- 博客(24)
- 收藏
- 关注
原创 维度模型- 迟到的事实or被修改的历史事实
一个订单表, 小概率进行历史订单补录和订单金额修正。怎么进行明细数据的处理和后面汇总数据的处理?先说补录吧, 修改比补录还麻烦。下面的讨论是基于hive, hive 的特征是只能全分区 insert overwrite。虽然可以insert ,但是不具有幂等性,尽量不用。
2024-05-13 11:02:29
246
原创 维度模型-层级维度
处置方式:从最细的层级对其, 如果层数不相等,用细粒度的数据补齐。想怎么看数, 就给什么维度。优点:简单缺点:事实表只能关联最细粒度, 如果要关联其他粒度,不能处理。
2024-05-11 11:47:32
331
原创 维度模型- 快变巨大维度
维度做拉链的方式时, 有些维度本身就巨大,比如千万级别的客户, 其中个别属性变化比其他属性明显频繁, 比如客户的年龄,住址等, 导致本身巨大的维度表快速膨胀。
2024-05-11 10:20:40
525
原创 flink- sql开发项目框架
自定义了一个format组件,通过外部的正则表达式,和建表ddl字段,对日志进行解析。建表ddl:with ('format' = 'pwrd_decode' ------自定义format 标记正则表达式配置:\\d+)"}, {},{\\d+)"}],根据ddl表名字,找到对应的配置文件,通过多个正则表达式,给ddl中的属性赋值。打包,上传。分别打包上传, sql调试完上线。
2024-05-09 14:38:18
279
原创 维度模型- 缓慢变化维度
用户维度表(不使用代理主键): 采购事实表: 性别汇总表: 变化属性:张小花性别从男变成女修改后的维度属性:优点: 简单缺点: 丢历史, 所有数据都挂在最新维度值上。使用场景:适合修正错误属性,或者确定目前和以后不需要历史的属性。比如用户性别,如果需要修改,肯定是以前弄错了。隐含的成本: 汇总必须和明细保持一致。 如果有基于直接修改的维度属性的汇总,维度属性修改后,必须重新汇总数据。上面表格,性别汇总表的汇总数据和最新的明
2024-05-07 10:56:59
336
原创 维度模型- 总线矩阵前后
基本上所有书籍对维度模型的表述都是有了维度和业务过程之后, 构建总线矩阵,进行开发。很少有书籍系统阐述 业务过程和维度怎么来的。为什么呢?
2024-05-06 17:46:14
188
原创 flink- 动态获取topic
flink 版本一升级,好多api 都红了, 记一下日志。有时这些还不满足功能, 我就想根据自己的想法,从外部存储里获取我想要的topic,这样可以不重启代码的前提下,最大的灵活性消费自己想要的topic。
2024-04-17 17:51:59
420
原创 维度模型- 贷款,还款计划,还款 完整过程
判断两个过程是不是同一个过程的两个指标: 是否同时发生,是否相同粒度。贷款和还款计划: 同时,但是是1-n关系还款计划和还款: 不同时, 也是1-n关系。所以这是三业务过程。
2024-04-16 15:54:03
1253
原创 维度模型-事物事实表,周期快照表,累计快照事实表
事物事实表:一个事件一行,这个事件可以是聚合事件周期快照事实表:周期快照事实表以具有规律性的、可预见的时间间隔来记录事实,主要用于分析一些存量型(例如商品库存,账户余额)或者状态型(空气温度,行驶速度)指标。累积快照事实表:累计快照事实表是基于一个业务流程中的多个关键业务过程联合处理而构建的事实表,如交易流程中的下单、支付、发货、确认收货业务。
2024-04-15 10:46:58
441
原创 flink 计算直播间当前在线人数和在线时长
老师开直播, 看当前在线的人数, 并计算每个人的观看直播的总时长来计算是否完课。用户在直播间每隔2s上报心跳。中间用户离开不算观看时长。
2024-04-12 16:35:43
608
原创 维度模型- 事物or快照
昨天想到订单表,一时分不清他是事物表还是快照表, 感觉他既是事物表,也是快照表,好困惑。事务表: 一个事件一条记录, 稀疏。快照表: 每次快照一条记录,稠密。
2024-04-11 19:30:23
221
原创 维度模型-维度模型和三范式关系
所以三范式和维度模型到底有啥区别, 好像也没啥本质的区别,相同信息的不同存储方式而已,信息怎么来的 , 需不需要三范式暂存一下,看自己背景和业务复杂度。
2024-04-11 10:42:07
358
原创 维度模型- 快照表聚合出来还是快照表?
例子:账户每日余额快照, 里面有客户维度。如果不是客户一定有一个账户,账户快照聚合到客户维度,会导致没有一部分客户的余额。不能算作客户的快照。得限制条件,根据什么维度进行的快照,然后用这个维度的子集进行聚合,才是快照,才紧密。问题:以为快照表聚合出来也是快照表, 其实不一定,新的聚合维度不一定紧密。
2024-04-10 17:22:55
92
原创 flink sql 自定义format 通过正则表达式解析日志
3. 自定义 DeserializationFormatFactory ,DecodingFormat ,DeserializationSchema 根据ddl和正则表达式对日志进行解析。filter 过滤日志, 正则表达式别名和上面见表的列明匹配时赋值。flink sql + 自定义format + 正则表达式文件。2. 解析用的正则表达式,文件名字和表名字一致,方便读取。多种不规则日志,需要通过正则表达式解析,事实写进es。1. table 定义。
2024-04-10 16:12:39
383
原创 维度模型-事实表可加性
数据仓库里面的数据面向的主要是统计汇总需求,可加性至关重要。以下情况,从明细数据上来说可能有用,但是也可能有害。设计事实表时要问一下自己事实的可加性,如果不可加要反思。
2024-04-10 15:08:18
241
原创 维度模型-父子关系表处理
优点: 把借款单中借款单id外的退化维度封装进一个杂项维度表, 还款表只继承杂项的id,屏蔽了杂项维度的增删。借款事实表故意冗余了状态123,虽然已有杂项维度。关于借款事实表杂项维度:如果是行存的数据库, 状态1 状态2 状态3 这么存储是浪费空间的, 如果是列存的数据库,这么存储占用空间很小。经常遇到这种父子关系表, 父表也是事实,上面有很多维度,和子表一对多关系。问题:杂项维度的主键是否可以MD5状态123,大数据,不计较这点存储。缺点: 当想分析还款事实表时,大概率得链接借款事实表,性能不好。
2024-04-10 11:05:51
263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人