又是一年【开源之夏】季。往年,Apache DolphinScheduler 同样参加到了【开源之夏】流动中来,心愿有更多学生群体关注到 Apache DolphinScheduler,并踊跃参加我的项目共建拿奖金!
No.1 流动介绍
开源之夏是由“开源软件供应链点亮打算”发动并长期反对的一项暑期开源流动,由中国科学院软件研究所与 openEuler 社区独特举办,旨在激励在校学生积极参与开源软件的开发保护,促成优良开源软件社区的蓬勃发展,造就和挖掘更多优良的开发者。
学生可自主抉择感兴趣的我的项目进行申请,并在当选后取得社区导师亲自领导。依据我的项目的难易水平和实现状况,参与者还将获取开源之夏流动奖金和结项证书。
开源之夏流动官网:https://summer.iscas.ac.cn/
No.2 流动日程
No.3 我的项目介绍
Apache DolphinScheduler 是一个云原生易扩大的可视化 DAG 工作流任务调度零碎。致力于解决数据处理流程中简单的工作依赖关系,使各种工作类型(Spark /Flink/MR/Shell/Python/SQL等)在工作流编排中开箱即用。
No.4 奖金设置
- 进阶:奖金人民币 12000 元
- 优化类的工作,例如进步性能,升高资源占有
- 根底:奖金人民币 8000 元
- 性能类的工作,例如为本社区开源我的项目减少一个或若干个重要个性等
No.5 八大课题
本次流动,Apache DolphinScheduler 开源社区共设有 8 个我的项目课题具体如下,欢送参加:
01 为 DolphinScheduler Python API 增加资源文件
【项目编号】222290294
【我的项目难度】进阶/Advanced
【编程语言】Python
【我的项目形容】目前,DolphinScheduler Python API 只能传递字符串格局传递工作的参数,例如咱们的 tutorial
dolphinscheduler/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/examples/tutorial.py
咱们只将一个字符串传递给shell工作类型。但通常来说,用户心愿具体的执行代码贮存在其余零碎中(心愿更好保护和集成),例如将具体文件存储在本地文件系统、GitHub、GitLab、Amazon S3、阿里云 OSS 等。兴许咱们能够增加语法糖让用户更加简略的操作内部文件
工作 task_parent 将从 URL https://github.com/apache/dolphinscheduler/blob/dev/script/install.sh 加载文件内容并将其传递给参数 command,它使咱们的 DAG 文件更容易和可保护
【我的项目产出要求】
实现 Resource 的插件化
实现具体的插件 Resource 包含但不限于本地文件系统,GitHub, GitLab, Amazon S3, 阿里云 OSS
Python API 的通过测试覆盖率,以后阈值为 90%
文档,包含开发(如何二开实现插件)和应用(每个 Resource 插件应用)
【我的项目技术要求】
相熟python,包含decorator、io、network、unittest、document
【我的项目成绩仓库】
https://github.com/apache/dolphinscheduler
https://github.com/apache/dolphinscheduler-website
【我的项目主导师】钟嘉杰
联系方式:zhongjiajie955@gmail.com
02 资源核心优化
【项目编号】222290456
【我的项目难度】进阶/Advanced
【编程语言】Java、Shell
【我的项目形容】重构 Dolphinscheduler 资源核心的读写逻辑
目前资源核心读写 HDFS/S3/本地目录 通过在数据库表中 t\_ds\_resources 记录文件/文件夹目录来实现文件记录,然而在用户初始化DS或者用户在DS的内部批改了第三方存储的内容的时候DS无奈进行实时同步,心愿可能与第三方存储的内容保障实时同步(调用第三方的API对文件增删改查)
【我的项目产出要求】
DS 不存储资源核心中文件的门路,对于资源核心的读写全都通过调用第三方API实现,只保留工作实例依赖到的内容门路于数据库用于文件删除校验。
实现现有的资源核心的所有性能,其中包含 文件/文件夹 增删改查,工作实例调用资源核心
后端API文档
【我的项目技术要求】
理解 Linux 零碎,对 Linux 文件治理有肯定的相熟
理解 HDFS/S3 组件,可能较疾速的依据官网文档学习API的应用
相熟 Java 语言
【我的项目成绩仓库】
https://github.com/apache/dolphinscheduler
https://github.com/apache/dolphinscheduler-website
【我的项目主导师】向梓豪
联系方式:zihaoxiang@apache.org
03 master/worker/api模块日志优化
【项目编号】222290457
【我的项目难度】进阶/Advanced
【编程语言】Java
【我的项目形容】因为DS日志不不便实在定位问题,须要将打印日志进行标准及优化
【我的项目产出要求】
整顿出DS打印日志标准领导文档,并提交到文档库
将master/worker/api模块依照标准文档进行落地并提交到开发分支
【我的项目技术要求】
相熟 Java 语言
【我的项目成绩仓库】
https://github.com/apache/dolphinscheduler
https://github.com/apache/dolphinscheduler-website
【我的项目主导师】进勇
联系方式:jiny.li@foxmail.com
04 主动收集、保留作业提交的Yarn作业的application id
【项目编号】222290458
【我的项目难度】进阶/Advanced
【编程语言】Java
【我的项目形容】DolphinScheduler反对各种各样的作业,比方Python、Shell等,其中一个很根底的性能就是收集这些作业创立的Yarn Job的application id。当初的实现形式是用一个正则表达式从作业的日志中解析,但这并不是一个完满的实现形式,本课题的工作就是用一种新的形式去主动收集、报错Yarn Job的application id信息,当然了,必须对用户通明,即对用户创立的作业无侵入。
【我的项目产出要求】
主动收集、报错Yarn Job的application id信息
必须对用户通明,即对用户创立的作业无侵入
【我的项目技术要求】
相熟 Java, Yarn, Hive, Spark SQL, AOP
【我的项目成绩仓库】
https://github.com/apache/dolphinscheduler
https://github.com/apache/dolphinscheduler-website
【我的项目主导师】gabrywu
联系方式:gabrywu@apache.org
05 为 DolphinScheduler 增加服务初始化的工作流demo
【项目编号】222290459
【我的项目难度】进阶/Advanced
【编程语言】Java、Shell
【我的项目形容】用户在启动DolphinScheduler服务后,能够应用demo-tool程序预置工作流demo,包含但不限于简略的shell工作、逻辑组件工作(switch、dependent、subprocess、condition)、参数传递等性能, 疏导用户更不便地应用DolphinScheduler。
【我的项目产出要求】
预置工作流demo的tool程序
服务启动脚本增加 init模式
工作流demo包含但不限于shell工作、逻辑组件工作(switch、dependent、subprocess、condition)、参数传递等
【我的项目技术要求】
相熟 Java、Shell
【我的项目成绩仓库】
https://github.com/apache/dolphinscheduler
https://github.com/apache/dolphinscheduler-website
【我的项目主导师】蔡顺峰
联系方式:caishunfeng2021@gmail.com
06 为 DolphinScheduler 增加 Java 工作类型
【项目编号】222290460
【我的项目难度】进阶/Advanced
【编程语言】Java、Shell、Vue、TypeScript
【我的项目形容】提供Java类型的调度工作,包含Jar和自定义Java代码两种形式,通过WEBUI定义Java运行时所须要的Resources、Libs资源文件和JVM参数,笼罩定时工作调用Java程序场景并晋升用户不便配置。
【我的项目产出要求】
可执行的Java类型工作插件
Java类型插件反对Jar形式,提供Resources、Libs资源文件和JVM参数的动静参数输出
Java类型插件反对WebUI自定义Java代码形式,提供Java类即时编译,执行
【我的项目技术要求】
相熟Shell、Java、SPI、Java compiler、VUE3、TypeScript
【我的项目成绩仓库】
https://github.com/apache/dolphinscheduler
https://github.com/apache/dolphinscheduler-website
【我的项目主导师】Kerwin
联系方式:zhuangchong6@163.com
07 反对测试工作
【项目编号】222290461
【我的项目难度】进阶/Advanced
【编程语言】Java、Vue
【我的项目形容】
目前新增/批改的工作流在上线前很难验证工作流配置是否正确,只能通过在线上环境执行来验证,所以有必要反对测试环境执行工作。
数据源核心反对配置测试环境源,线上环境源可绑定一个测试环境源。工作执行及工作流执行反对“是否测试”选项,抉择测试时,Worker节点在工作执行前,主动替换线上环境源为绑定的测试环境源,再配合Worker分组实现线上、测试环境的隔离,最终达到反对测试工作的指标。
【我的项目产出要求】
数据源配置页面减少线上、测试选项,反对绑定测试源
工作流执行页面、工作执行页面新增线上、测试选项
Master节点、Worker节点解析执行环境标识,替换数据源为测试数据源
工作流实例、工作实例页面减少执行环境标识
【我的项目技术要求】
相熟Java、Spring、VUE3
【我的项目成绩仓库】
https://github.com/apache/dolphinscheduler
https://github.com/apache/dolphinscheduler-website
【我的项目主导师】温合民
联系方式:whm_777@163.com
08 为 DolphinScheduler 的我的项目和资源核心减少读写权限的受权治理
【项目编号】222290462
【我的项目难度】根底/Basic
【编程语言】Java、Vue、TypeScript
【我的项目形容】以后DolphinScheduler对于权限的管控绝对比较简单,心愿在进行我的项目和资源核心受权时减少操作权限管控来进行读写权限的拆散。
【我的项目产出要求】
针对单个我的项目的全部内容进行读写权限辨别,对单个用户针对单个我的项目受权只读或者读写权限
针对资源核心的全部内容进行读写权限辨别,基于以后资源核心的受权内容辨别出只读或者读写权限
进行受权时前端页面减少只读和读写的受权操作
【我的项目技术要求】
相熟Java、Spring、Vue3、TypeScript
【我的项目成绩仓库】
https://github.com/apache/dolphinscheduler
https://github.com/apache/dolphinscheduler-website
【我的项目主导师】孙朝和
联系方式:sunzhaohe0825@gmail.com
No.6 申请参加我的项目
01 申请资格
本流动面向年满 18 周岁在校学生。
暑期行将毕业的学生,只有在申请时学生证处在有效期内,就能够提交申请。
海内学生可提供录取通知书/学生卡/在读证实证实学生身份。
02 参加流程
03 申请倡议
欢送被动向导师发送邮件进行沟通,附上本人的计划和简历,更加理解你~
认真理解社区我的项目文档,与导师充沛沟通。
欢送退出交换群交换
参加奉献
随着国内开源的迅猛崛起,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"volunteer+wanted"
如何参加奉献链接:https://dolphinscheduler.apache.org/zh-cn/docs/development/contribute.html
来吧,DolphinScheduler开源社区须要您的参加,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是微小的。
参加开源能够近距离与各路高手切磋,迅速晋升本人的技能,如果您想参加奉献,咱们有个贡献者种子孵化群,能够增加社区小助手微信(Leonard-ds) ,手把手教会您( 贡献者不分程度高下,有问必答,要害是有一颗违心奉献的心 )。
增加小助手微信时请阐明想参加奉献。
来吧,开源社区十分期待您的参加。
流动举荐
当数据资源成为生产倒退乃至于生存过程中必不可少的因素,企业该如何通过数据集成帮忙企业数据服务全生命周期落地呢?5月14日,数据集成框架 Apache SeaTunnel(Incubating)将邀请一站式数据集成平台 Apache InLong(Incubating)的技术专家与开源贡献者们,一起来到直播间,与大家畅谈应用Apache SeaTunnel(Incubating)与Apache InLong(Incubating)后的实际经验与心得体会。
直播链接:https://live.bilibili.com/24523914?broadcast\_type=0&is\_room\_feed=1&spm\_id_from=333.999.0.0