Skip to content

Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DataJump - 一站式大数据研发治理平台

项目简介

DataJump 是一个企业级一站式大数据研发治理平台,提供数据集成、数据开发、任务调度、元数据管理、运维监控等全链路数据研发能力,帮助企业快速构建数据中台。

核心特性

  • 数据集成:支持 30+ 数据源,批流一体的数据同步能力
  • 数据开发:专业 SQL IDE + 可视化 DAG 编排,提升开发效率
  • 任务调度:自研分布式调度引擎,支持百万级任务调度
  • 元数据管理:全链路数据血缘,自动化数据资产管理
  • 运维监控:实时监控大盘,智能告警,保障数据链路稳定

目标用户

角色核心诉求
数据开发工程师高效开发 SQL/ETL 任务,便捷的调试和发布流程
数据分析师快速查询数据,理解数据含义和血缘关系
运维人员监控任务状态,快速定位和处理异常
平台管理员管理权限、资源,保障平台稳定运行

系统架构

┌─────────────────────────────────────────────────────────────────┐
│ 前端应用层 │
│ React + TypeScript + Ant Design Pro + Monaco Editor │
├─────────────────────────────────────────────────────────────────┤
│ API 网关层 │
│ Kong / Spring Cloud Gateway │
├──────────┬──────────┬──────────┬──────────┬────────────────────┤
│ 数据集成 │ 数据开发 │ 调度引擎 │ 元数据 │ 运维监控 │
│ 服务 │ 服务 │ 服务 │ 服务 │ 服务 │
├──────────┴──────────┴──────────┴──────────┴────────────────────┤
│ 基础设施层 │
│ MySQL │ Redis │ Kafka │ Elasticsearch │ MinIO │
├─────────────────────────────────────────────────────────────────┤
│ 计算引擎层 │
│ Spark │ Flink │ Hive │ Presto │ Iceberg │
└─────────────────────────────────────────────────────────────────┘

核心模块

1. 调度引擎(核心自研)

  • Master-Worker 分布式架构
  • DAG 任务编排与依赖管理(拓扑排序、循环检测)
  • 可插拔任务执行器:Shell、Python、SQL
  • Cron 定时调度(Spring CronExpression,自动扫描触发)
  • 任务状态机与重试机制
  • 完整的执行日志记录与查询
  • 高可用与弹性伸缩

2. 数据集成

  • DataX + Docker 容器化执行引擎(已实现)
  • 数据源 Schema 探测(表/列自动发现)
  • 全量同步 + 增量同步(时间戳/自增ID 位点管理)
  • 实时监控面板(进度、速度、字节数、错误信息)
  • 执行历史记录与位点查询
  • 支持数据源:MySQL、PostgreSQL、Hive
  • Flink CDC 实时同步(规划中)

3. 数据开发

  • SQL IDE:Monaco Editor、语法高亮、SQL 格式化、保存查询、自动恢复(已实现)
  • DAG 编排:ReactFlow 画布、拖拽式节点、连线依赖配置(已实现)
  • 版本管理:JSON 快照版本、Git 式 Diff(id-based 数组匹配)、非破坏性回滚(已实现)
  • 发布上线:DEV→PROD 两层环境、单人审批、一键部署、线上版本追踪(已实现)

4. 元数据服务

  • 数据血缘自动采集与可视化
  • 数据字典与业务术语管理
  • 数据质量规则配置与监控
  • 数据资产盘点与分类

5. 运维监控中心

  • 实时任务监控大盘
  • 多渠道告警通知(钉钉、飞书、邮件、短信)
  • 日志聚合查询
  • 资源使用监控
  • SLA 管理与报表

技术栈

后端

  • 语言:Java 17 / Go
  • 框架:Spring Boot 3.x / Spring Cloud
  • 调度:Quartz + 自研分布式调度
  • 消息队列:Kafka
  • 缓存:Redis
  • 数据库:MySQL 8.0
  • 搜索引擎:Elasticsearch 8.x

前端

  • 框架:React 18 + TypeScript
  • UI 组件:Ant Design 5.x / Ant Design Pro
  • 状态管理:Zustand
  • SQL 编辑器:Monaco Editor
  • DAG 可视化:ReactFlow
  • 图表:ECharts 5.x

基础设施

  • 容器化:Docker + Kubernetes
  • CI/CD:GitLab CI / GitHub Actions
  • 监控:Prometheus + Grafana
  • 日志:ELK Stack

文档目录

项目结构

DataJump/
├── datajump-server/ # 后端服务 (Java Maven)
│ ├── datajump-api/ # API 网关模块
│ ├── datajump-common/ # 公共模块
│ ├── datajump-scheduler/ # 调度引擎模块
│ │ ├── controller/ # REST API 控制器
│ │ ├── engine/ # DAG 执行引擎
│ │ ├── executor/ # 任务执行器(Shell/Python/SQL)
│ │ ├── mapper/ # 数据库映射层
│ │ ├── model/ # 实体和 DTO
│ │ ├── scheduler/ # Cron 调度服务
│ │ └── service/ # 业务逻辑层
│ ├── datajump-integration/ # 数据集成模块
│ ├── datajump-development/ # 数据开发模块(SQL执行/版本管理/发布流程)
│ ├── datajump-metadata/ # 元数据服务模块
│ └── datajump-monitor/ # 运维监控模块
├── datajump-web/ # 前端应用 (React + TypeScript)
│ └── src/
│ ├── pages/ # 页面组件
│ │ └── DataDevelop/ # DAG编辑器/SQL IDE/版本历史/Diff/发布管理
│ ├── services/ # API 服务层
│ └── components/ # 通用组件(布局等)
├── docker/ # Docker 配置
│ ├── docker-compose.yml # 开发环境编排
│ └── init-sql/ # 数据库初始化和迁移脚本
└── docs/ # 技术文档

快速开始

环境要求

  • Java 17+
  • Maven 3.8+
  • Node.js 18+
  • Docker & Docker Compose

1. 启动基础设施

# 启动 MySQL、Redis、Kafka、Elasticsearch、MinIOcd docker
docker-compose up -d
# 查看服务状态
docker-compose ps

服务端口说明:

服务端口说明
MySQL3306数据库 (用户: datajump, 密码: datajump123)
Redis6379缓存
Kafka9094消息队列 (外部访问)
Elasticsearch9200搜索引擎
MinIO9000/9001对象存储 (控制台: 9001)
Kafka UI8083Kafka 可视化管理

2. 启动后端服务

cd datajump-server
mvn clean install -DskipTests
mvn spring-boot:run -pl datajump-api

3. 启动前端

cd datajump-web
npm install
npm run dev

前端默认运行在 http://localhost:5173

开发指南

后端开发

# 编译所有模块
mvn clean compile
# 运行测试
mvn test# 打包
mvn package -DskipTests

前端开发

# 开发模式
npm run dev
# 代码检查
npm run lint
# 生产构建
npm run build

License

Apache License 2.0

About

DataJump 是一个企业级一站式大数据研发治理平台,提供数据集成、数据开发、任务调度、元数据管理、运维监控等全链路数据研发能力,帮助企业快速构建数据中台。

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages