实时数仓搭建

项目概述

本项目针对实时数仓中的dim层,使用flik获取维度数据以及维度表结构把处理过的数据和维度表同步到habse中,同步采用的是雪花模型,遵循三范式,对维度数据进行实时的增删改查。

对维度表进行动态拆分功能。

动态拆分功能就是使用flink-CDC对维度配置表进行实时监控,如果新增了一张维度表,hbase中也新增这张维度表,如果删除一张表同样在hbase中也删除这张表。

最终将编译代码上传到gitlab上。

第1步:创建抽象类和抽象方法

注意:测试阶段可以先把flink检查点代码给注释掉,可以提高效率,上线的时候务必开启

getkafkaSource读取kafka数据

第2步创建主类继承抽象类实现抽象方法

2.1对ods读取的原始数据进行etl数据清洗

对代码进行封装

2.2使用flinkcdc读取配置表数据并实现增加表和删除表功能

在util类中创建方法

在主类中调用

2.3在hbase中创建表

                  首先创建util类

编写javabean类

在主类中调用该方法

对代码进行封装

2.4做成广播流

作用是:广播状态的key用于判断是否是维度表,value用于补充信息到hbase

2.5连接主流和广播流

注意:这里有一个bug,就是主流的数据会比广播流的数据先到,会造成数据丢失

bug已修复

创建方法

在主类调用

对代码进行封装

2.6筛选出需要写出的字段

对代码进行封装

2.7把数据写入到hbase中

在hbaseutil中编译方法

创建写入方法

对类进行调用

3.整体运行流程:

4.整体演示

现在我们要把处理过的数据写入到hbase中

mysql中的维度表结构

mysql中的数据表

通过代码编译把在根据维度配置表结构,把属于维度表在hbase中创建

再对表进行判断把维度表中需要的字段写入到hbase中

5.代码上传到gitlab

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值