我在Apache DolphinScheduler的心路历练
摘要:Apache DolphinScheduler 目前是 Apache 孵化项目,目前正在快速发展中。加入Apache DolphinScheduler社区已一年多,已有 400+ 公司在生产上使用,代码+文档贡献者近200位,社区用户4000 +人。本篇文章主要介绍我在Apache DolphinScheduler的经历及收获。
主人翁介绍
姓名:陈兴春
个人简介:易观数科大数据平台测试工程师,Apache DolphinScheduler Commiter,拥有5年测试经验,平常主要负责千帆产品和DS的测试工作,喜欢专研新技术,对未知事物充满好奇心的一枚萌妹子

Apache DolphinScheduler 简述
Apache DolphinScheduler 是一个开源的分布式去中心化、易扩展的可视化DAG大数据调度系统。 于2017年在易观数科立项,2019年3月开源,于2019年8月29日通过Apache基金会投票正式成为Apache孵化器项目。

Apache DolphinScheduler致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。可调度Shell、Python、SQL、数据存储、Spark、Flink、MR、HTTP、子流程、依赖、条件判断等任务,DAG可视化,支持自定义时间调度、历史数据补数、指定单个任务运行、任务/资源监控、重跑、停止、暂停、失败重试、恢复失败、恢复运行、告警、容错、全局参数、自定义参数、系统内置参数等功能。

结缘Apache DolphinScheduler
2019年9月,我非常荣幸的加入易观数科,同时也加入了Apache DolphinScheduler社区,开始了与DolphinScheduler的成长之旅。DolphinScheduler是我参加的第一个开源项目,也正是Apache DolphinScheduler社区,让我知道中国开源正在崛起,中国开源的力量在壮大,越来越多的开发者及公司正在积极的拥抱开源。
入选commiter之路
初入DolphinScheduler社区时,@dailidong 冬哥说了一句让我至今也印象深刻的话:兴春,争取早日成为commiter。当时的我是不相信自己能成为commiter的,因为我不是开发,感觉没机会提交pr,何谈成为commiter。但是后面了解到成为commiter,不仅只有提交pr一条道路,只要为社区贡献一份力量,问题答疑、贡献文章、文档、社区运营宣传,都有机会成为commiter。
前期在@qiaozhanwei 占卫的帮助下,细心的帮我讲解DolphinScheduler业务、架构、部署以及各个服务之间的实现与联系,加上自己对linux、shell脚本、python、数据库及代码部署等有较好的基础,因此在短时间内就熟练的掌握DolphinScheduler并开始接管测试工作,把控DolphinScheduler每次发版质量的最后一道关卡。平时除了测试DolphinScheduler的业务,开始在社区进行答疑,处理GitHub上的issue,修改官网的文档。在测试V1.1.0到V1.2.0升级脚本时,发现install.sh中数据库类型为postgresql时,数据库连接却用的mysql,因此我的第一个pr产生了,哪怕只是改了一个简单的mysql,却是一个里程碑的开始,因为无数的pr及勇气都是第一个pr奠定的基石。后期经过不断的贡献与坚持,终于赶上第二批commiter的选拔,并成功入选成为DolphinScheduler的commiter。
当然,成为commiter不应该是加入开源项目的终极目标。成为commiter,拥有更大的操作权限,能更方便、更快捷的服务社区,同时对于项目及社区的发展与壮大,更多了一份责任,只有项目变强且被更多人及公司认可时,commiter的头衔才会变得更有意义。
社区氛围
社区最近多次在线上讨论master重构,经过几次会议后,加入讨论的社区人员越来越多,大家各抒己见,讨论技术实现的利与弊。作为一个测试人员,也许我不能提出专业的技术建议,也许整场会议我没有发言,但是我从不会缺席。在技术讨论过程中,我会关注开发的实现方式和逻辑,在后期测试的时候,我才能发现更多隐藏的测试点以及容易忽视的细节。
在DolphinScheduler社区,认识了很多大神,每天都在进行大脑风暴,讨论技术、架构及需求实现。他们利用自己休闲娱乐的时间,不断的为DolphinScheduler出谋划策,完善DolphinScheduler的功能,解决github上的issue。在他们身上,总能学到很多东西,不仅是在技术层面,更重要的是那份为了开源项目无私奉献的精神。也正是大家的贡献以及社区小伙伴的认可,社区用户群从当初的1个群增加到8个群,外加2个开发群,而且还在不断扩大,代码Contributors也从当初的1个人增长到148个,文档贡献者也有近50人了。还有一件非常值得庆贺的事情,Apache DolphinScheduler 2020年在数百个开源项目评选中脱颖而出荣获十大开源新锐项目。

测试难点
开源项目没有产品经理,没有专业的UI设计,所有的需求及实现来自社区,对于UI和功能点的测试其实是有难度的。质量把控没有一个参考标准,也没有一个详细的产品说明,这对于测试有相当大的考验,许多的测试点只能根据已实现的功能去测试。当然,DolphinScheduler目前对于社区提的feature,在技术实现之前需要完善issue文档,提的pr也需关联对应issue,让每一个pr都有据可查,但是对于细节的处理及测试点,还是需要测试人员去挖掘。
社区问题的复现也是一大难题。社区提的BUG,虽然有格式说明,但仍然存在不按照格式要求写的情况,有时复现步骤或一个关键因素没描述清楚,就导致问题无法复现,因此需要不断引导用户、猜测发生场景及确认问题。有时一个issue可能需要花大量时间和精力去复现,最终可能是配置或者环境原因导致的,但是只要能帮用户解决问题,心里还是非常开心且有满足感。而且我是非常欢迎用户提issue的,因为这说明有用户在使用并关注DolphinScheduler,所以对每一个issue,我们都应该用心去关注并帮忙解决,如果有一天没有用户提issue,这才是我们该担忧的事情。
未来期许
Apache DolphinScheduler正在拙壮成长,希望早日毕业成为顶级项目,而且我也坚信通过社区的力量与努力,DolphinScheduler一定会开辟出自己的一片天地,被越来越多的人熟知及应用。也希望广大同胞们的日子就如DolphinScheduler的slogan一样“调度选得好、下班回家早、调度选得对、回家安心睡”。同时,DolphinScheduler也欢迎更多的小伙伴加入社区,加入开源的队伍,为开源贡献一份力所能及的力量。
如何加入Apache DolphinScheduler社区
在线DEMO: http://106.75.43.194:8888/
官网:https://dolphinscheduler.apache.org/
开源地址: https://github.com/apache/incubator-dolphinscheduler
订阅开发邮件:https://dolphinscheduler.apache.org/zh-cn/docs/development/subscribe.html
强烈推荐订阅开发邮件列表,实时获取社区最新信息。
公众号 : 海豚调度
我在Apache DolphinScheduler的心路历练的更多相关文章
- 社区之光:我和 Apache DolphinScheduler 的这一年
背景 没错,本文的主人翁就是那个在多个 DolphinScheduler 用户群超级活跃,"孜孜不倦" 地给用户各种答疑的小伙,如果你在群里问过问题,伯毅多半概率回答过,哈哈,今天 ...
- Apache DolphinScheduler(海豚调度) - 1.3 系列核心表结构剖析
Apache DolphinScheduler 是一个分布式去中心化,易扩展的可视化 DAG 工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用. 近日 ...
- 本周六 Apache DolphinScheduler & Doris 将联合线上 Meetup
活动背景 2020年,大数据成为国家基建的一个重要组成,大数据在越来越多的领域展现威力.随着大数据的应用场景越来越多,大家对数据的响应速度和数据加工工作流的方便程度也提出了更高的要求.在这种背景下,相 ...
- Apache DolphinScheduler新一代分布式工作流任务调度平台实战-上
概述 定义 dolphinscheduler 官网地址 https://dolphinscheduler.apache.org/ dolphinscheduler GitHub地址 https://g ...
- Apache DolphinScheduler 3.0.0 正式版发布!
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 版本发布 2022/8/10 2022 年 8 ...
- 日均 6000+ 实例,TB 级数据流量,Apache DolphinScheduler 如何做联通医疗大数据平台的“顶梁柱”?
作者 | 胡泽康 鄞乐炜 作者简介 胡泽康 联通(广东)产业互联网公司 大数据工程师,专注于开源大数据领域,从事大数据平台研发工作 鄞乐炜 联通(广东)产业互联网公司 大数据工程师,主要从事大数据平 ...
- 数据平台调度升级改造 | 从Azkaban 平滑过度到 Apache DolphinScheduler 的操作实践
Fordeal的数据平台调度系统之前是基于Azkaban进行二次开发的,但是在用户层面.技术层面都存在一些痛点问题难以被解决.比如在用户层面缺少任务可视化编辑界面.补数等必要功能,导致用户上手难体验差 ...
- 倒计时2日!基于 Apache DolphinScheduler&TiDB 的交叉开发实践,从编写到调度让你大幅提升效率
当大数据挖掘成为企业赖以生存.发展乃至转型的生命,如何找到一款好软件帮助企业满足需求,成为了许多大数据工程师困扰的问题.但在当下高速发展的大数据领域,光是一款好软件似乎都不足以满足所有场景业务需求,许 ...
- 感谢有你!Apache DolphinScheduler 项目 GitHub star 突破 8k
本周伊始,Apache DolphinScheduler 项目在 GitHub 上的 Github Star 总数首次突破 8K.目前,Apache DolphinScheduler 社区已经拥有 C ...
随机推荐
- 手动搭建简易web框架与django框架简介
目录 纯手写简易web框架 基于wsgiref模块 动静态网页 简单了解jinja2模块 框架请求流程 python主流web框架 django框架 简介 应用app 命令操作django pycha ...
- Django对接支付宝Alipay支付接口
最新博客更新见我的个人主页: https://xzajyjs.cn 我们在使用Django构建网站时常需要对接第三方支付平台的支付接口,这里就以支付宝为例(其他平台大同小异),使用支付宝开放平台的沙箱 ...
- 手把手教你 Docker搭建mysql并配置远程访问
一.使用docker部署mysql 1.在docker中搜索要安装的mysql docker search mysql (这步其实可以跳过O(∩_∩)O哈哈~) 2.拉取mysql镜像 docker ...
- python创建分类器小结
简介:分类是指利用数据的特性将其分成若干类型的过程. 监督学习分类器就是用带标记的训练数据建立一个模型,然后对未知数据进行分类. 一.简单分类器 首先,用numpy创建一些基本的数据,我们创建了8个点 ...
- 开始讨论离散型随机变量吧!《考研概率论学习之我见》 -by zobol
上一文中,笔者给出了随机变量的基本定义:一个可测映射,从结果空间到实数集,我们的目的是为了引入函数这个数学工具到考研概率论中,但是我们在现实中面对的一些事情结果,映射而成的随机变量和其对应的概率值,并 ...
- 一篇文章带你使用Typescript封装一个Vue组件
一.搭建项目以及初始化配置 vue create ts_vue_btn 这里使用了vue CLI3自定义选择的服务,我选择了ts.stylus等工具.然后创建完项目之后,进入项目.使用快捷命令code ...
- Vue3.0系列——「vue3.0学习手册」第一期
一.项目搭建 vite是尤大大开发的一款意图取代webpack的工具.其实现原理是利用ES6的import发送请求加载文件的特性.拦截这些请求,做一些编译,省去webpack冗长的打包时间.并将其与R ...
- 【摸鱼神器】UI库秒变低代码工具——表单篇(一)设计
前面说了列表的低代码化的方法,本篇介绍一下表单的低代码化. 内容摘要 需求分析. 定义 interface. 定义表单控件的 props. 定义 json 文件. 基于 el-form 封装,实现依赖 ...
- 多校联训 DP 专题
[UR #20]跳蚤电话 将加边变为加点,方案数为 \((n-1)!\) 除以一个数,\(dp\) 每种方案要除的数之和即可. 点击查看代码 #include<bits/stdc++.h> ...
- DBSync新增对MongoDB、ES的支持
数据库同步工具DBSync近日进行了升级,最新版本为V1.9,新增了对MongoDB.Elasticseach(ES)的支持,具体情况:1.支持同型库之间的同步,如:MongoDB至MongoDB,E ...