其他分享
首页 > 其他分享> > Flink项目中的重难点(一)

Flink项目中的重难点(一)

作者:互联网

动态分流问题

需求:

在数据接收层,我们是使用maxwell把通过binlog变动的数据全部写入一个kafka的topic中。而这其中存在维度表和事实表,还有同时又是维度又是事实的表。

在实时计算中,我们一般把维度表写入通过主键查询的数据库中,例如mysql,redis,hbase等。一般将事实表写入流中,再经过进一步处理使其变成宽表。

而又maxwell存入的全部数据,我们该如何判断全部的数据的流向呢。我们可以将数据的内容全部在一个地方集中配置,形成一种动态的配置方案。我们选择使用mysql存放这种配置表,然后使用flinkCDC读取这张表。从而对从ods层接受的数据进行动态的分流。

我们选择hbase当成维度表的存放位置,理由:
1.以K-V键值对的形式对数据进行存储,提取主键时方便对数据进行快速调用。
2.Hbase不长住内存,维度表的数据量多,如果使用像redis一样常驻内存的数据库对内存的消耗较大。

实现方式:
使用flinkCDC动态监控配置表的变化,以流的形式将配置表的变化读到程序中。并以广播流的形式向下传递,主流从广播流中获取配置信息。主流connect广播流。

标签:配置,项目,Flink,写入,重难点,内存,维度,动态,数据
来源: https://blog.csdn.net/weixin_48788937/article/details/119304195