问题导读
1. DolphinScheduler 3.1.0 新增了哪些功能?
2.DolphinScheduler如何支持 K8s 云原生场景?
3.DolphinScheduler主要优化项有哪些?
1.新功能和新特性
1.新增 MLOps 场景支持
Apache DolphinScheduler 3.1.0 新增了常见的几种机器学习组件,帮助用户解决机器学习模型研发到上线的效率问题,包括 MLflow, Jupyter, OpenMLDB, DVC, SageMaker, PyTorch。
通过组件形式涵盖机器学习工作流中的 5 个环节:
各个任务组件可以帮助用户在以下场景调度机器学习任务:
支持 K8s 云原生场景
集群管理:创建和授权后,k8s 命名空间和工作流会增加关联集群的功能,每一个集群会有独立的工作流和任务实例独立运行。
命名空间管理
新增了 K8s 任务组件、namespace 管理和集群管理,可以支持多个 K8s 集群下的任务调度。
另外,K8s-operator 也于近期发布了 0.1.0 版本,详见:dolphinscheduler-operator https://github.com/apache/dolphinscheduler-operator。
引入 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
新增 StreamTask MVP
实时任务支持在 DAG 创建和展示,若 DAG 中包含了实时任务的组件,则实时任务的关联关系显示为虚线,在执行工作流实例的时候会跳过实时任务的执行。
实时任务定义在工作流定义中创建,用户在任务定义页面可以进行修改和执行。
插件拓展
新版本还拓展了一些任务、数据源、注册中心和存储组件插件,以优化用户体验,具体包括:
- 任务插件: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
|
|