实时数仓与离线数仓架构对比、Flink消费流程

实时数仓架构图:

在这里插入图片描述
离线数仓:
在这里插入图片描述

与离线数仓区别:

  1. MySQL业务数据采集改用FlinkCDC;FlinkCDC与Maxwell处理方式和Cannal一样通过监控binlog方式(行级别),而Sqoop是通过MR方式处理数据,这种方式太慢
  2. 日志数据,离线数仓采用的是Taildir Source监控落盘的多个文件采集数据,并通过Kafka Channel写入Kafka,而实时架构直接将日志数据收集到Kafka,减少了磁盘IO速度也更快了,缺点就是耦合性高,日志服务器和Kafka关联性太大,例如Kafka发生了问题会影响到日志服务器

离线架构

优点:耦合性低,稳定性高 缺点:时效性差一点 说明:
1.更追求系统的稳定性
2.耦合性低,稳定性高
3.公司未来的发展,数据量会变得很大

实时架构

优点:时效性好 缺点:耦合性高,稳定性低 说明:
1.时效性好,使用的是Flink
2.Kafka集群高可用,挂一台两台是没有问题
3.数据量小,所有机器存在于同一个机房,传输没有问题 PS:没有最好的架构,只有合适的架构

Flink消费流程

从FlinkCDC和Kafka来的数据放入ODS,接下来需要把它们拆成明细放入DWD,像行为数据中的日志有:启动日志、动作日志、曝光日志、错误日志、页面日志和离线数仓一样,把一张表的数据拆成五张表;从FinkCDC中来的数据也是一张表,所以ODS层只有两个主题:行为数据一个主题,业务数据一个主题;
使用Flink将Kafka中ODS层数据进行消费,通过侧输出流进行分流,分到DWD层不同的主题里面,同时业务数据一部分需要放入Kafka中DWD层事实表里面,一部分需要放入HBase中的DIM层维度表
Flink消费DWD层数据关联维表形成DWM层
Flink消费DWM层数据写入ClickHouse(为什么使用ClickHouse后续会讲)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值