Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!

 点亮 ⭐️ Star · 照亮开源之路

https://github.com/apache/dolphinscheduler

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第1张图片

自 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。

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第2张图片

通过组件形式涵盖机器学习工作流中的 5 个环节:

数据管理

特征存储

模型训练

部署

模型管理

DVC, 

SageMaker

OpenMLDB, 

SageMaker

Shell,

Python, 

Jupyter, 

MLflow, 

PyTorch, 

SageMaker

Shell, 

Python, 

MLflow, 

SageMaker

MLflow, 

SageMaker

各个任务组件可以帮助用户在以下场景调度机器学习任务:

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第3张图片

Demo

02

支持 K8s 云原生场景

  • 集群管理:创建和授权后,k8s 命名空间和工作流会增加关联集群的功能,每一个集群会有独立的工作流和任务实例独立运行。

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第4张图片

  • 命名空间管理

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第5张图片

  • 新增了 K8s 任务组件、namespace 管理和集群管理,可以支持多个 K8s 集群下的任务调度。

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第6张图片

另外,K8s-operator 也于近期发布了 0.1.0 版本,详见:dolphinscheduler-operator https://github.com/apache/dolphinscheduler-operator。

03

引入 Yaml workflow as code

Apache DolphinScheduler 3.1.0 的另一大亮点,是新增支持以 Yaml 文件的形式编辑工作流,有利于工作流文件管理。

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第7张图片

使用 `pydolphinscheduler yaml -f tutorial.yaml` 即可创建和运行工作流。

相关文档可查看:PyDolphinScheduler https://dolphinscheduler.apache.org/python/3.1.0/tutorial.html

04

新增 StreamTask MVP

实时任务支持在 DAG 创建和展示,若 DAG 中包含了实时任务的组件,则实时任务的关联关系显示为虚线,在执行工作流实例的时候会跳过实时任务的执行。

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第8张图片

实时任务定义在工作流定义中创建,用户在任务定义页面可以进行修改和执行。

Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第9张图片

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 执行流程分析系列(一)

点击阅读原文,参与开源!

我知道你在看Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!_第10张图片

你可能感兴趣的:(大数据,python,java,hadoop,人工智能)