Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

tarobjtu/DataJump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

86 Commits

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、MinIO
cd docker
docker-compose up -d
# 查看服务状态
docker-compose ps

服务端口说明:

服务 端口 说明
MySQL 3306 数据库 (用户: datajump, 密码: datajump123)
Redis 6379 缓存
Kafka 9094 消息队列 (外部访问)
Elasticsearch 9200 搜索引擎
MinIO 9000/9001 对象存储 (控制台: 9001)
Kafka UI 8083 Kafka 可视化管理

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

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /