摘要:近日,PyDolphinScheduler 迎来了 4.0.1 版本,基于 4.0.0 版本进行了改造和优化。
PyDolphinScheduler 4.0.1 较大的改动包括:
-
支持任务缓存功能 #50
-
更好的 python 依赖,依赖包和函数 #63
-
workflow 不指定租户,仅指定用户 #54
-
优化了本地参数的指定方式 #53
-
修改 SQL 任务支持的 pre 和 post 入参类型 #62
01 重要功能详情
更好的 python 依赖,依赖包和函数
在 4.0.1 之前,用户使用 task 装饰器装饰函数时,不能将函数的依赖同时带入 Python 任务中,只会在 DolphinScheduler 中创建的 Python 任务缺少全局变量 my_name 以及导入的包 form datetime import datetime。在 4.0.1 及之后的版本,提交时会分析被装饰函数的依赖关系,并将他们都放到 Python 任务中,保证任务可以被运行。升级到 4.0.1 后,任务中的全局变量 my_name 以及导入的包 form datetime import datetime 都被导入到 DolphinScheduler Python 任务中。
除此之外,4.0.1 还支持函数依赖的提取,提交到 DolphinScheduler 之后,foo 中依赖的 bar 函数也会被放置到 DolphinScheduler 中的 Python 任务中。自动依赖分析并提取,使得用户不需要额外的操作就可以将已经存在本地的函数在 DolphinScheduler 中运行,用户仅需使用 @task 装饰对应的函数即可。此功能是通过 stmdency 仓库完成的。
Workflow 不指定租户,仅指定用户
在 4.0.1 之前,想要通过 pydolphinscheduler 定义和运行工作流需要对每个工作流指定租户,4.0.1 之后不需要为每个工作流配置租户,PyDolphinScheduler 会根据工作流的用户找到对应的租户并且执行工作流,与之一起删除的还有 PyDolphinScheduler 配置文件 config.yaml 中的 default.workflow.tenant 配置,可以通过 default.workflow.user 中的配置找到对应的租户。
优化了本地参数的指定方式
4.0.1 之前,本地参数的指定方式比较原始,使用的方式相对比较复杂。4.0.1 版本简化了本地参数的指定方式,将原本统一使用 local_params 一个参数的方式改成 input_params 和 output_params 分别指定,更加容易理解,更加 Pythonic。
02 功能改进
-
feat: 增加任务缓存机制,提高重复性任务的运行速度
-
feat: post 命令添加到 tox 做一些清理
-
feat: 添加 stmdency handle @task 装饰器语句依赖
-
feat: 将 setup.cfg 用于 dist 包
-
feat: 添加方便的方法来创建 apache 释放资源
03 优化
-
impv:工作流不需要指定租户
-
impv:让 local_params 参数的指定更加 pythonic
04 Bugfix
-
fix: 升级了 flake8 之后使用的问题
-
fix: sql 任务 pre post 语法增加 Sequence 类型支持
05 文档
-
修改 release 文档
-
修改部分描述文档
06 感谢贡献者
jieguangzhou, zhongjiajie
Release Note:
https://github.com/apache/dolphinscheduler-sdk-python/releases/tag/4.0.1
还没有评论,来说两句吧...