点亮 ⭐️ Star · 照亮开源之路
https://github.com/apache/dolphinscheduler
自 3.0 版本发布后,今天 Apache DolphinScheduler 迎来了又一次重要的版本升级!3.1.0 版本亮点众多,包括新增了一些机器学习组件,支持更多 MLOps 场景,帮助用户解决机器学习模型研发到上线的效率问题;新增了若干关键 K8s 云原生组件,支持 K8s 云原生场景;引入 Yaml workflow as code;新增 StreamTask MVP;新增 PyDolphinScheduler 任务类型支持等。此外,新版本还进行了若干重要修复和优化,提高用户使用效率。
1
新功能和新特性
01
新增 MLOps 场景支持
Apache DolphinScheduler 3.1.0 新增了常见的几种机器学习组件,帮助用户解决机器学习模型研发到上线的效率问题,包括 MLflow, Jupyter, OpenMLDB, DVC, SageMaker, PyTorch。
通过组件形式涵盖机器学习工作流中的 5 个环节:
数据管理 |
特征存储 |
模型训练 |
部署 |
模型管理 |
DVC, SageMaker |
OpenMLDB, SageMaker |
Shell, Python, Jupyter, MLflow, PyTorch, SageMaker |
Shell, Python, MLflow, SageMaker |
MLflow, SageMaker |
各个任务组件可以帮助用户在以下场景调度机器学习任务:
Demo
02
支持 K8s 云原生场景
集群管理:创建和授权后,k8s 命名空间和工作流会增加关联集群的功能,每一个集群会有独立的工作流和任务实例独立运行。
命名空间管理
新增了 K8s 任务组件、namespace 管理和集群管理,可以支持多个 K8s 集群下的任务调度。
另外,K8s-operator 也于近期发布了 0.1.0 版本,详见:dolphinscheduler-operator https://github.com/apache/dolphinscheduler-operator。
03
引入 Yaml workflow as code
Apache DolphinScheduler 3.1.0 的另一大亮点,是新增支持以 Yaml 文件的形式编辑工作流,有利于工作流文件管理。
使用 `pydolphinscheduler yaml -f tutorial.yaml` 即可创建和运行工作流。
相关文档可查看:PyDolphinScheduler https://dolphinscheduler.apache.org/python/3.1.0/tutorial.html
04
新增 StreamTask MVP
实时任务支持在 DAG 创建和展示,若 DAG 中包含了实时任务的组件,则实时任务的关联关系显示为虚线,在执行工作流实例的时候会跳过实时任务的执行。
实时任务定义在工作流定义中创建,用户在任务定义页面可以进行修改和执行。
05
插件拓展
新版本还拓展了一些任务、数据源、注册中心和存储组件插件,以优化用户体验,具体包括:
任务插件:Jupyter, Hive CLI, Dinky, ChunJun;
数据源插件:Amazon Athena;
注册中心插件:Etcd,MySQL;
存储组件:Alibaba Cloud OSS。
06
新增 PyDolphinScheduler 任务类型支持
Apache DolphinScheduler 支持 PyDolphinScheduler 给很多用户带来了便利,随着新需求的出现,新版本也根据用户反馈进行了优化,帮助用户提高工作效率。
增加了 SageMaker, DVC, MLflow, OpenMLDB, Pytorch 任务类型的支持;
自动格式化工作流,工作流实例的 DAG 布局;
新增 environment 到任务定义;
修复swtich任务无法显示问题;
开发者相关优化:本地集成测试优化,gateway代码重构到单个文件。
07
代码风格
Apache DolphinScheduler 使用 Spotless 检查并修复代码风格和格式问题,并且提供了 pre-commit 脚本方便开发者使用。
详见代码风格文档:https://dolphinscheduler.apache.org/zh-cn/docs/3.1.0/user_doc/contribute/development-environment-setup.html。
08
其他
Metrics:新增了 master 和 worker 的 metrics 监控;
CI:新增了 OWASP 检查,alert server 集群测试。
2
主要优化项
SeaTunnel 任务组件支持 2.0 版本;
PyDolphinScheduler:支持更多任务组件在 pyds 创建;
抽离 scheduler 模块,便于后续拓展和替换;
添加工作流实例 ID 和任务实例 ID 作为 Trace ID,方便排查日志时寻找上下文;
重构 worker 执行任务流程;
使用 NSpace 组件重构部分UI页面;
升级部分依赖,避免 CVE(通用披露问题)问题;
UT 添加 JDK11 的支持;
支持重跑历史版本的工作流;
升级 Docker 基础镜像支持 Python 3.9;
AWS S3 资源中心支持 bucket 自定义。
3
主要 Bug Fix
修复数据源参数预览关闭问题
修复 dependent 任务选择 ALL 校验错误
修复 worker 任务日志过大导致 OOM 问题
修复任务 local 参数传递问题
修复强制成功任务时无法从失败的任务中恢复的问题
修复任务组无法保存的问题
修复 SQL 任务的参数传递问题
修复容错时没有判断 RestartTime问题
修复获取任务组资源失败的情况下 task 为 running 状态的问题
修复在任务定义页面创建任务时 preTask 选项不可用的问题
删除 DataX 任务中不支持的数据源类型
修复 PyDolphinScheduler 的用户权限问题
修复监控中心内存和硬盘空间数据错误
修复环境配置无法使用空格问题
修复 workerGroup 数据不会从 master 内存中移除问题
修复ClickHouse 数据源依赖缺失问题
修复服务状态检测脚本问题
修复部分资源泄漏问题
4
文档修改
将社区、开发者、DSIP 相关文档迁移到主库
Python API 支持多版本文档
文档内容统一格式
优化补数功能的示例和说明
新增如何指定网卡 IP 的 FAQ
更新本地、全局、参数传递错误表述文档
增加 SQL 任务类型 pre-sql 和 post-sql 问题
将任务组件的通用默认参数抽离成独立的文档
更新本地、全局、参数传递错误表述文档
部分文档的中文翻译更新
新增资源中心本地配置
修复任务组件文档:SQL、dependnet、WebexTeams、datax、shell、subprocess
修复部署文档:Kubernetes
5
相关链接
Release Note:https://github.com/apache/dolphinscheduler/releases/tag/3.1.0
下载链接:https://dolphinscheduler.apache.org/en-us/download/download.html
6
致谢
✦ +
+
贡献者列表
按 GitHub ID 首字母排序
aiwenmo
Amy0104
Assert
BaoLiang
cadl
caishunfeng
Chris Ho
ChunFu Wu
chuxing
Daniel Y
Dannila
Desperado2
Devosend
Eric Gao
Evans Sun
FangYin Cheng
fuchanghai
Guanhua Li
guodong
HeChuan
He Zhao
HomminLee
houshitao
hstdream
HuangWei
Hwting
insist777
jackfanwan
Jiajie Zhong
JieguangZhou
JinYong Li
JiPeng Wang
juzimao
Kengo Seki
Kerwin
kezhenxu94
Kirs
labbomb
limaiwang
liubo1990
LiuBodong
liudi1184
liyangyang
longtb
lugela
Lyle Shaw
microeastcowboy
monster
Mr.An
ouyangyewei
Paul Zhang
pinkhello
Luke Yan
PJ Fanning
qianli2022
qinchaofeng
Qi Zhang
QuakeWang
retime123
rickchengx
rockfang
seedscoder
sgw
Sheldon
Shuo Zhang
SmallProgrammer
sneh-wha
songjianet
SongTao Zhuang
Stalary
syyangs799
Tq
WangJPLeo
Wenjun Ruan
wjf
W.XING
xiangzihao
xuhhui
Yann Ann
Yiming Guo
youzipi
ZhaoGuodong
zhuxt2015
zixi0825
阿福Chris
爱穿格子裤
陈家名
飞侠美如画
秋天
旺阳
旭旭同學
< >
更多精彩推荐
☞挑战海量数据:基于Apache DolphinScheduler对千亿级数据应用实践
☞收藏假期干货:Apache DolphinScheduler源码分析系列(超详细)
☞Apache Dolphin Scheduler 3.0.1 发布,对核心及UI相关进行优化
☞名额已排到10月 | Apache DolphinScheduler Meetup分享嘉宾继续火热招募中
☞DophineSheduler上下游任务之间动态传参案例及易错点总结
☞社区又又叕迎一名新 Committer!,赶快来认识他吧~
☞自动更新选股模型,实时监控,基于 Apache DolphinSchedule 打造机器学习智能选股系统
☞Apache DolphinScheduler v2.0.1 Master 和 Worker 执行流程分析系列(一)
点击阅读原文,参与开源!