摘要: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的心路历练的更多相关文章

  1. 社区之光:我和 Apache DolphinScheduler 的这一年

    背景 没错,本文的主人翁就是那个在多个 DolphinScheduler 用户群超级活跃,"孜孜不倦" 地给用户各种答疑的小伙,如果你在群里问过问题,伯毅多半概率回答过,哈哈,今天 ...

  2. Apache DolphinScheduler(海豚调度) - 1.3 系列核心表结构剖析

    Apache DolphinScheduler 是一个分布式去中心化,易扩展的可视化 DAG 工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用. 近日 ...

  3. 本周六 Apache DolphinScheduler & Doris 将联合线上 Meetup

    活动背景 2020年,大数据成为国家基建的一个重要组成,大数据在越来越多的领域展现威力.随着大数据的应用场景越来越多,大家对数据的响应速度和数据加工工作流的方便程度也提出了更高的要求.在这种背景下,相 ...

  4. Apache DolphinScheduler新一代分布式工作流任务调度平台实战-上

    概述 定义 dolphinscheduler 官网地址 https://dolphinscheduler.apache.org/ dolphinscheduler GitHub地址 https://g ...

  5. Apache DolphinScheduler 3.0.0 正式版发布!

    ​  点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler   ​ 版本发布 2022/8/10 2022 年 8 ...

  6. 日均 6000+ 实例,TB 级数据流量,Apache DolphinScheduler 如何做联通医疗大数据平台的“顶梁柱”?

    作者 | 胡泽康 鄞乐炜 作者简介 胡泽康 联通(广东)产业互联网公司  大数据工程师,专注于开源大数据领域,从事大数据平台研发工作 鄞乐炜 联通(广东)产业互联网公司 大数据工程师,主要从事大数据平 ...

  7. 数据平台调度升级改造 | 从Azkaban 平滑过度到 Apache DolphinScheduler 的操作实践

    Fordeal的数据平台调度系统之前是基于Azkaban进行二次开发的,但是在用户层面.技术层面都存在一些痛点问题难以被解决.比如在用户层面缺少任务可视化编辑界面.补数等必要功能,导致用户上手难体验差 ...

  8. 倒计时2日!基于 Apache DolphinScheduler&TiDB 的交叉开发实践,从编写到调度让你大幅提升效率

    当大数据挖掘成为企业赖以生存.发展乃至转型的生命,如何找到一款好软件帮助企业满足需求,成为了许多大数据工程师困扰的问题.但在当下高速发展的大数据领域,光是一款好软件似乎都不足以满足所有场景业务需求,许 ...

  9. 感谢有你!Apache DolphinScheduler 项目 GitHub star 突破 8k

    本周伊始,Apache DolphinScheduler 项目在 GitHub 上的 Github Star 总数首次突破 8K.目前,Apache DolphinScheduler 社区已经拥有 C ...

随机推荐

  1. Spark框架——WordCount案例实现

    package wordcount import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} ...

  2. Java实现数据库增删改查

    代码示例: import java.sql.*; public class Renewal { // 创建类static Connection con; // 声明Connection对象static ...

  3. python面向对象双下划线方法与元类

    目录 双下划线方法(__) 元类简介 产生类的两种表现形式 元类的基本使用 元类进阶操作 __new__方法 双下划线方法(__) 面向对象中的双下方法也有一些人称之为是魔法方法,有些双下方法不需要刻 ...

  4. Kube-OVN v1.10.0:新增Windows节点支持,用户自定义子网ACL等10+硬核功能

    在Kube-OVN社区小伙伴的共同努力下,Kube-OVN v1.10.0于五月份正式发布.Kube-OVN v1.10.0版本中,我们一如既往地对Kube-OVN 的功能.性能.稳定性和易用性进行了 ...

  5. 08shell脚本

    shell脚本编程 1.1简介 什么是shell脚本 shell脚本: 就是一些命令的集合, 在脚本文件中可以有流程控制, 如顺序, 条件分支和循环等 脚本文件一般一.sh文件为扩展名, 但是不是必须 ...

  6. 参与 2022 第二季度 Flutter 开发者调查

    2022 Google I/O 大会正式落下帷幕,Flutter 作为 14 个开发者产品和平台中的一款,吸引了来自全球的很多开发者们的关注.随着全国很多地方已经进入夏季,Flutter 今年第二季度 ...

  7. 下篇:技术 Leader 的思考方式

    作者: 朱春茂(知明) 技术 Leader 是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力.所以 ...

  8. 为什么 SQL 语句使用了索引,但却还是慢查询?

    一.索引与慢查询 聊一聊索引和慢查询,经常遇到的一个问题:一个SQL语句使用了索引,为什么还是会记录到慢查询日志之中? 为了说明,创建一个表t,该表3个字段,一个主键索引,一个普通索引 CREATE ...

  9. mysql调优学习笔记

    性能监控 使用show profile查询剖析工具,可以指定具体的type 此工具默认是禁用的,可以通过服务器变量在绘画级别动态的修改 set profiling=1; 当设置完成之后,在服务器上执行 ...

  10. SAP Smartforms 参数配置

    DATA : sf_name TYPE rs38l_fnam. DATA : sf_output_options TYPE ssfcompop. DATA : sf_control_parameter ...