大数跨境

PyDolphinScheduler 发布 4.0.1 版本,支持任务缓存功能

PyDolphinScheduler 发布 4.0.1 版本,支持任务缓存功能 海豚调度
2023-03-15
1
导读:基于 4.0.0 版本进行了改造和优化。




点击蓝字 关注我们





摘要


近日,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

参与贡献


随着国内开源的迅猛崛起,Apache DolphinScheduler 社区迎来蓬勃发展,为了做更好用、易用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,让本土开源走向全球。


参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:


贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。


社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689


非新手问题列表:https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22


如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html


来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。


参与开源可以近距离与各路高手切磋,迅速提升自己的技能,如果您想参与贡献,我们有个贡献者种子孵化群,可以添加社区小助手微信(Leonard-ds) ,手把手教会您( 贡献者不分水平高低,有问必答,关键是有一颗愿意贡献的心 )。

添加社区小助手微信(Leonard-ds) 



添加小助手微信时请说明想参与贡献。


来吧,开源社区非常期待您的参与。



< 🐬🐬 >
更多精彩推荐

Apache DolphinScheduler GitHub Star 突破 10000!

优秀用户案例有奖征集 | 活动火热开启,快来投稿!

BIGO 如何做到夜间同时运行 2.4K 个工作流实例?

DolphinScheduler×长安汽车 | 千万级数据接入能力智能网联汽车云平台引进核心调度系统

去年办了这么多场Meetup都没有你,2023年赶紧安排起来!

Apache DolphinScheduler 3.1.4 版本发布,修复一键安装报错问题

迁移工具 Air2phin 宣布开源,2 步迁移 Airflow 至 Dolphinscheduler



我知道你在看

【声明】内容源于网络
0
0
海豚调度
Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
内容 667
粉丝 0
海豚调度 Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
总阅读167
粉丝0
内容667