摘要:近日,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

作者

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Generated by Feedzy
%d 博主赞过: