分享

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


问题导读

1. DolphinScheduler 3.1.0 新增了哪些功能?
2.DolphinScheduler如何支持 K8s 云原生场景?
3.DolphinScheduler主要优化项有哪些?


1.新功能和新特性

1.新增 MLOps 场景支持
Apache DolphinScheduler 3.1.0 新增了常见的几种机器学习组件,帮助用户解决机器学习模型研发到上线的效率问题,包括 MLflow, Jupyter, OpenMLDB, DVC, SageMaker, PyTorch。


640.png

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


1.jpg

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


1.jpg

640.gif

支持 K8s 云原生场景

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


640.png

命名空间管理


640.png


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


640.png


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


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



640.png

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

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


新增 StreamTask MVP


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


640.png


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


640.png

插件拓展
新版本还拓展了一些任务、数据源、注册中心和存储组件插件,以优化用户体验,具体包括:

  • 任务插件:Jupyter, Hive CLI, Dinky,  ChunJun;
  • 数据源插件:Amazon Athena;
  • 注册中心插件:Etcd,MySQL;
  • 存储组件:Alibaba Cloud OSS。




新增 PyDolphinScheduler 任务类型支持
Apache DolphinScheduler 支持 PyDolphinScheduler 给很多用户带来了便利,随着新需求的出现,新版本也根据用户反馈进行了优化,帮助用户提高工作效率。

  • 增加了 SageMaker, DVC, MLflow, OpenMLDB, Pytorch 任务类型的支持;
  • 自动格式化工作流,工作流实例的 DAG 布局;
  • 新增 environment 到任务定义;
  • 修复swtich任务无法显示问题;
  • 开发者相关优化:本地集成测试优化,gateway代码重构到单个文件。




代码风格
Apache DolphinScheduler 使用 Spotless 检查并修复代码风格和格式问题,并且提供了 pre-commit 脚本方便开发者使用。

详见代码风格文档:https://dolphinscheduler.apache. ... ironment-setup.html



其他
  • 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



最新经典文章,欢迎关注公众号


原文链接:
https://mp.weixin.qq.com/s/eK0-fudFSAerdptE3rfWWQ

加微信w3aboutyun,可拉入技术爱好者群

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条