基于 Apache Flink 的实时数仓项目,按 DIM、DWD、DWS 分层拆分为多个 Maven 模块,用于处理 Kafka、MySQL CDC、HBase、Redis、Doris 等实时数据链路。
- Java 8
- Apache Flink 1.17.1
- Flink CDC 2.4.2
- Hadoop 3.3.4
- Kafka
- MySQL
- HBase 2.4.11
- Redis
- Apache Doris
- Maven
.
├── realtime-common # 公共 Bean、常量、工具类、Flink 基类和维表关联函数
├── realtime-dim # DIM 层任务,处理维度表配置和 HBase 写入
├── realtime-dwd # DWD 层任务,拆分日志流和业务数据库明细流
└── realtime-dws # DWS 层任务,面向主题统计的窗口聚合
主要包含基础日志拆分、业务库分流、交易、互动等明细层任务。
主要包含流量、用户、交易等主题的窗口汇总任务,例如关键词、页面访问、用户登录、加购、SKU 下单、省份下单等统计。
在项目根目录执行:
mvn clean package -DskipTests如只需要编译检查:
mvn clean compile -DskipTests运行任务前需确保相关外部服务可用,并与 realtime-common 中的常量配置保持一致
具体任务入口类位于各子模块的 src/main/java 目录中,可根据要运行的分层和主题选择对应 App 类提交到 Flink 集群。