Paimon+Flink从0到1构建电商实时数据湖仓

46 阅读1分钟

1.简介

本项目是一个以电商为背景,采用Flink+Paimon构建的实时数据湖仓。(详情可移步github仓库github.com/fengyu-eng/…,如对您有帮助,恳请点个★star★支持一下吧!)

2.架构

image.png 1)数据源:本项目通过Spring模拟数据生成器,分别生成日志以及业务数据。日志数据写入Kafka队列,业务数据写入MySQL数据库。

2)数据采集同步:本项目使用Java编写的FlinkSql代码实现数仓的搭建。日志数据->通过Flink的Kafka Connector对接,写入paimon表(HiveMetastore)的ODS原始数据层。业务数据->通过Flink CDC将MySQL中的业务数据同步到paimon表。

3)数仓分层:ODS(原始数据层)->DIM(维度层)->DWD(明细层)->DWS(汇总层)->ADS(应用层)

4)可视化:通过Doris Catalog对接paimon数据源,使用Superset进行可视化分析

3.版本

软件版本下载地址
Flink1.17.2mirrors.aliyun.com/apache/flin…
Paimon0.8.0repo.maven.apache.org/maven2/org/…
Hadoop3.1.3archive.apache.org/dist/hadoop…
Kafka3.7.1mirrors.aliyun.com/apache/kafk…
Doris2.1.0apache-doris-releases.oss-accelerate.aliyuncs.com/apache-dori…
JDK8
MAVEN3.9.9mirrors.aliyun.com/apache/mave…
Hive3.1.3mirrors.huaweicloud.com/apache/hive…

4.湖仓建设

1)ODS层建设

  1. 日志数据->Kafka->Flink Kafka Connector

image.png 2. 业务数据->MySQL->Flink CDC

image.png

  1. 元数据存储在Hive中,实际数据存储在HDFS,示例:

image.png

2)DIM层建设

image.png

image.png

3)DWD层建设

image.png

image.png

4)DWS层建设

image.png

image.png

5)ADS层建设

image.png

image.png

6)可视化示例:Doris作为一个MPP高性能数据库,在查询性能上有显著优势,所以本项目通过Doris Catalog去对接paimon表进行可视化 在这里插入图片描述