美文网首页
第五章 实时技术之流式数据模型

第五章 实时技术之流式数据模型

作者: 被爱的天青色 | 来源:发表于2019-02-09 11:58 被阅读55次

实时建模与离线建模类似,也需要对数据进行建模,进行数据分层处理

数据分层:

1)ODS层:与离线系统类似,操作数据层。记录了原始数据的变更过程,例如订单变更数据以及服务器日志数据

2)DWD层:实时明细层,对于没有上下文关系的数据会回流到离线系统,保证了ODS层与DWD层数据一致性

3)DWS层:通用维度数据汇总层,供各业务共同使用

4)ADS层:个性化维度会汇总层,针对单个业务所关注的维度各指标数据

5)DIM层:实时维度层,从离线维度层导出,所有的ETL工作在离线系统中完成

举个例子:对于一个电子商城数据的存储如下:

① ODS层:订单的变更记录,一笔订单对应多条记录

② DWD层:订单的支付记录,一笔订单只有一条记录

③ DWS层:卖家实时成交金额,一个卖家一条记录并且实时更新

④ ADS层:外卖业务的实时成交金额,只有外卖业务使用

⑤ DIM层:订单商品类目和行业维度表


多流关联:

多流关联即实时计算过程中把两个实时流进行主键关联,以得到对应结果数据。

1)主要问题:

① 实时数据到达不同于离线计算的任务在启动时已经获取了表中全量数据,实时数据是增量的

② 数据到达时间是不确定和无序的

2)多流关联过程:以订单信息与支付信息为例

① 实时采集两张表,每有一条数据到达在对方表的截至当前全量数据中查询,如果找到则关联成功,输出

② 查找失败,则把数据放在内存中等待

③ 不论关联成功与否都需要在外部存储备份数据,便于内存中数据的恢复

④ 考虑到性能,实时关联一般会按照关联的主键进行分桶处理以提高执行效率

多流关联就的关键点就是需要相互等待


维表使用:

在离线系统中一般根据业务分区来关联事实表和维度表(维度表的全量数据已经就绪),而在实时计算过程中一般使用实时数据(T)和维表(T-2)去关联。

1)使用T-2的维表的原因:

① 关联的维表一般使用静态表,当零点到达时,T-1的维表数据无法加工完成

② 大部分业务的维表在两天之内的变化很少,两天的延迟可以接受

③ 如果使用实时维表,需要T-1的全量数据+当日实时数据,涉及多流关联,效率降低

2)维表的加载:

① 维表数据量较小,如几万条数据,直接全部加载到内存,执行效率极高

② 维表数据量较大,如几亿条数据,使用增量查找或者LRU算法,把热门数据保留在内存中

相关文章

  • 第五章 实时技术之流式数据模型

    实时建模与离线建模类似,也需要对数据进行建模,进行数据分层处理 数据分层: 1)ODS层:与离线系统类似,操作数据...

  • 2019-06-06

    流式数据模型 实时建模跟离线建模非常相似,数据模型整体上分为五层(ODS,DWD,DWS,ADS,DIM) 由于实...

  • 大数据经典学习路线(及供参考)之 三

    3.Storm实时计算部分阶段 实时课程分为两个部分:流式计算核心技术和流式计算计算案例实战。 1.流式计算核心技...

  • 第五章 实时技术之流式技术架构

    流式计算框架的开源方案非常多,整体的机构相似,只是实现实时的方式存在差异,按照子系统功能划分,分为数据采集...

  • Storm核心组件、编程模型

    Storm简介storm是用来做实时计算的框架,所以介绍storm之前需要知道什么是流式计算。流式计算:数据实时产...

  • Storm核心组件、编程模型

    Storm简介storm是用来做实时计算的框架,所以介绍storm之前需要知道什么是流式计算。流式计算:数据实时产...

  • Storm核心组件、编程模型

    Storm简介storm是用来做实时计算的框架,所以介绍storm之前需要知道什么是流式计算。流式计算:数据实时产...

  • Storm核心组件、编程模型

    Storm简介storm是用来做实时计算的框架,所以介绍storm之前需要知道什么是流式计算。流式计算:数据实时产...

  • 机器学习,流式 IoT 和医疗设备互联

    现如今,IoT数据,实时流式数据分析(streaming analytics),机器学习以及分布式计算的组合相比之...

  • 技术博客

    技术博客 流式计算

网友评论

      本文标题:第五章 实时技术之流式数据模型

      本文链接:https://www.haomeiwen.com/subject/hrmasqtx.html