Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
eyesmoons/lacus: 大数据平台后端项目

eyesmoons/lacus: 大数据平台后端项目

10 hours ago

Lacus 开源大数据平台

项目背景

在企业数字化进程中,数据体量与数据源种类持续增多,典型的数据工程链路往往涉及采集、同步、实时计算、离线计算、元数据治理、数据服务等多个环节。传统做法通常组合多个独立工具(Sqoop / DataX / Flink / Spark / 自研服务),带来以下痛点:

  • 工具链碎片化:每个环节一个独立系统,运维成本高、账户权限分散、监控不统一。
  • 上手门槛高:业务人员要同时理解 Flink SQL、Spark、CDC、连接器配置等多种技术栈。
  • 重复开发:数据同步、数据 API、校验逻辑在每个项目中重复建设。
  • 缺乏统一元数据:数据源、表结构、任务血缘分散在不同系统,难以形成全局视图。
Lacus 是一个开源、一体化、企业级大数据集成与处理平台,核心目标是把大数据的「采集、存储、计算、服务、治理」收敛到一个统一平台,通过可视化 + 配置化的方式,让大数据任务的开发与运维像搭积木一样简单。

Star History

Star History Chart


系统功能全景

!系统首页 Lacus 围绕「数据全链路」提供以下核心模块:

| 模块 | 路径入口 | 核心能力 | |------|---------|---------| | 元数据管理 | /metadata/* | 数据源管理、表结构浏览、字段/统计信息、数据源插件管理 | | 数据集成 | /dig/* | 基于 SeaTunnel 的可视化拖拽设计器 + 专家 JSON 模式,Source/Transform/Sink 组件化编排 | | 数据同步 | /datasync/* | 传统表级同步、字段映射、全量/增量策略、任务分组 | | Flink 开发 | /flink/* | 流式 SQL、批处理 SQL、自定义 JAR、任务实例监控、Flink Web UI 跳转 | | Spark 开发 | /spark/* | 批处理 SQL、自定义 JAR、Hive 读写、实例监控 | | 统一 API | /oneapi/* | 通过 SQL 快速生成 REST API,支持参数化、在线测试、SQL 解析 | | 数据质量 | /dataquality/* | 基于 Spark 的规则管理、执行记录、多维度质量校验 | | 系统管理 | /system/、/monitor/ | 用户/角色/菜单/部门/岗位、数据权限、服务器/缓存/在线用户/日志/Druid 监控 |


应用场景

实时数据同步与入湖

业务 DB(MySQL/Oracle)变更需要实时同步到 Kafka / Hive / Doris。
  1. 元数据模块注册数据源
  2. 数据集成设计器拖拽「MySQL CDC Source → Kafka Sink」
  3. 配置 binlog 订阅、topic、序列化格式,提交运行
  4. 通过任务实例监控延迟、记录数、错误日志

离线数仓 ETL

每日 T+1 从 Hive 源表聚合计算到目标库。
  1. 进入 Spark 开发 → 新建批处理 SQL
  2. 编写 Spark SQL(支持 CREATE TEMPORARY VIEW、INSERT OVERWRITE)
  3. 配置 executor 数量、内存等资源参数,提交到 YARN
  4. 实例模块查看运行状态与耗时

实时流计算

Kafka 用户事件流实时写入 ClickHouse 供 BI 查询。
  1. Flink 开发 → 新建 STREAMING SQL
  2. 定义 Source Table(Kafka + JSON)与 Sink Table(JDBC/ClickHouse)
  3. 编写 INSERT INTO sink SELECT ... FROM source
  4. 配置并行度、Checkpoint,提交到 Flink 集群

数据服务化(Data as a Service)

业务方需要「用户画像」「订单统计」等数据,但不想直连数据库。
  1. 统一 API → 新建 API,编写 SQL,定义参数
  2. 平台自动生成 REST 接口
  3. 业务方通过 GET /one/api/... 调用,支持在线测试与参数校验

数据质量监控

对核心表做空值、唯一性、范围校验。
  1. 数据质量 → 规则管理,配置校验规则
  2. 基于 Spark 执行质量任务
  3. 执行记录查看通过/失败明细

元数据治理与数据盘点

管理上百个数据源、数千张表,需要统一浏览与血缘。
  1. 元数据 → 数据源管理,注册各类数据源
  2. 表结构浏览:字段、类型、注释、行数、大小
  3. 数据源类型管理:统一维护驱动与插件

技术架构

整体架构(前后端分离 + 插件化)

  • 前端:lacus-ui(Vue 3 + Element Plus + Vite)
  • 后端:lacus(Spring Boot 2.7 + Flink + Spark + Kafka + FlinkCDC)
  • 运行环境:JDK 1.8+、MySQL、Redis、Kafka、Hadoop/YARN、Flink 1.16+、Spark 2.4/3.4

前端技术栈(lacus-ui)

| 维度 | 技术选型 | 说明 | |------|---------|------| | 框架 | Vue 3.2(Composition API + Chat with me