这个开源项目不简单,Apache DolphinScheduler如何用数据驱动技术发展

2019 年 10 月 16 日 AI前线


作者 | 佘磊
编辑 | Natalie
10 月 24-26 日,2019 易观 A10 数据智能生态大会将会在上海盛大召开。由于在开源领域的实现了重大突破,今年易观联手 InfoQ 反馈技术社区,共同为我们开发者带来了丰富的大会技术福利。(文末可扫码参加)

社区与开源,正在成为影响全球技术的一股重要力量。在越来越注重开发者感受的国内互联网领域,开源正在变得越来越流行。毕竟当企业越做越大,成为该领域的领军者之后,要考虑的就是如何引领行业的发展。开源,无疑是彰显企业自身技术实力的最佳途径之一。因此甚至在一定程度上,可以从开源的项目数量上来看出一家互联网科技企业的技术实力。像 Google、Facebook、微软、腾讯、阿里等互联网科技巨头,在全球技术开源社区上一直保持着高度活跃,更是体现了他们的全球影响力。

之前,InfoQ 曾统计了下国内各大互联网公司在 GitHub 上的项目数量,不难看出,国内互联网科技企业在 GitHub 上还是十分活跃的。

这股开源风气,尤其在国内开发者身上表现得非常明显,根据 GitHub 的全球用户分析,中国现已成为仅次于美国的第二大用户来源。

并且,国内有着互联网产品得天独厚的外部条件。数亿级月活、PB 级数据体量、日均数万个任务调度需求等,这些都是在数据体量极大的国内移动互联网市场才能见到的场景。实现这一切的核心,是大数据中台中的核心基础设施 - 数据任务调度系统。然而当前市面上,却没有能够充分满足和匹配国内数据应用需求的一款数据调度工具。按照常理来说,核心的东西,保持越简单越好,但是现实情况确是,在实践过程中数据处理流程往往都存在很长的依赖链条,导致数据 ETL 工作开发流程的效率低下。

以 Azkaban 和 Airflow 为例,Linkedin 所开源的批量工作流任务调度器 Azkaban,其很好解决了过于依赖 Hadoop 进行作业的问题,并且具备很高的易用性。但是其作为一个通用编排引擎,不具备丰富的功能,在工作流进行过程中也无法暂停和恢复,并且在集群化中的部署流程十分繁琐,且可扩展性也不高,限制了其进一步发展。

另外一个应用也比较广泛的调度系统是 Airflow,其存在着任务太多会卡死、缺少系统过载保护、没有便于配置的可视化界面等问题,这在一定程度上增加了系统扩展复杂性。另外其实时性能会随着并发数的增加而降低,对于并发性能要求很高且对实时性要求较高的国内企业来说,这点比较难以接受。

因此国人需要一款能够从数据处理痛点出发,能够匹配国内大数据体量和落地应用现状的一款开源的数据任务调度框架。在开源逐渐成为国内的一种潮流与文化后,对于国内的开发者来说,一方面他们会贡献代码、架构,将开源项目进行“本土化”后进而进行迭代和开放,另一方面部分企业也会将开源的模块进行商业化以聚焦更多的需求,或将其项目捐赠给国际顶级的开源软件基金会。易观,就属于后者。

今年的 8 月 29 日,紧跟着 Kylin 的步伐,易观 DolphinScheduler 正式通过顶级开源组织 Apache 基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目。

1 打开国内数据领域开源的新大门 -Apache DolphinScheduler

DolphinScheduler,简称”DS”, 中文名 “小海豚调度”(海豚聪明、人性化,有左右脑可互相换班,终生不用睡觉)。希望 DolphinScheduler 就像它的名字一样,成为一个“开箱即用”的灵活易用的调度系统。

之前,InfoQ 报道了首个由国人主导的 Apache 顶级开源项目 Kylin 的开源历程,这为国内大型顶级的项目开源开辟了先河。之所以 Kylin 的开源项目能够如此成功,Kyligence 创始人 Luke 在接受 InfoQ 专访时曾提到,我们连中国这种“地狱级”的数据体量都能搞定,国外的那些根本不在话下。

DolphinScheduler 也是如此,作为一个分布式易扩展的可视化 DAG 工作流任务调度系统,致力于解决数据处理流程中错综复杂的依赖关系。

早在 2018 年 5 月,DolphinScheduler 就已经在易观内部的千帆产品线上得到了使用。随后其耗费 2 个多月的时间来对框架内部的架构进行重构升级,并决定正式开源。今年 8 月份,正式推出了 1.1.0 新版本,其实现了包括去 Hadoop 依赖、Kerberos 安全支持、资源分目录、微信告警等重要功能。在加入孵化器后,也即将发布进入 apache 孵化器后的第一个 apache 版本,功能更丰富。

DolphinScheduler 整体架构

DolphinScheduler 是从数据处理的痛点出发,因此其解决的问题以及优化的方向都与上述我们提到的调度系统有所不同,主要有以下 5 点:

  • 可视化流程设计减轻了开发者配置工作流的复杂度,从繁琐的基础配置中解放出来,不用再靠编程来配置流程,提升开发效率;

  • 扩展性强,在当下这样一个业务变化快、技术迭代频繁的现在,丰富的任务类型、跨语言和自定义插件机制良好的可扩展性,无疑使这款框架具备了更长的寿命和更广泛的落地场景;

  • 支持工作流定时调度、依赖调度、手动调度、手动暂停 / 停止 / 恢复,同时支持失败重试 / 告警、从指定节点恢复失败、Kill 任务等操作

  • 支持集群 HA,通过 Zookeeper 实现 Master 集群和 Worker 集群的天然去中心化架构设计,使得系统的高可用性得到保证;

  • 通过拖拽以 DAG 图的方式将 Task 按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态,完善的服务监控系统,方便运维人员快速进行问题定位。

目前,中国平安、美团、嘀嗒出行、多点互动等多家企业都已经将 Apache DolphinScheduler 应用到了实际场景中。

2 数据能力平民化 - 易观方舟 Argo

当然,国内互联网市场不只那些拥有很大数据量和亿级用户的产品,大多数的互联网产品的用户数与日数据调用次数都没有那么夸张。但是他们也需要需要快速获客、促活及转化,因此就需要对数据进行有价值的分析。

易观方舟 Argo 就是这样一款面向数据体量较小的技术团队,作为国内首款支持私有化且免费的用户分析和数据精益运营产品,能够帮助其实现灵活自定义用户行为分析,精准的用户分群以及用户触达,做到投入更少的研发资源、时间、和维护成本,快速搭建起一套符合自己需要的数据只能平台,进而提高研发和运营效率。

其主要具备以下 5 点特性:

  1. 基于 IOTA 架构实现大数据量的秒级计算,很多工作在边缘 SDK 上已完成计算,云端只需做一些简单处理,继而存储,最终给用户提供计算和查询。
  2. 丰富实用的产品功能,灵活自定义用户行为分析,以及用户分群、用户触达等运营模块,支持跨端用户分析、可视化埋点、实时数据分析等;
  3. 高度产品化的形式,软件及 SDK 部署简单、界面图形化,降低技术门槛;
  4. 免费开放,拥抱开源,开源了易观数据采集 SDK 以及分布式任务调度引擎 DolphinScheduler,提高用户数据获知以及数据处理能力;
  5. 社区生态建设,引导以方舟 Argo 为核心的社区生态建设,为初创团队、技术和产品研发人员以及及业界专家提供共同探讨数据技术、业务增长模型和数字用户运营方法论等知识的空间。

目前已有 100 多家初创企业与 600 多个社群用户成为 Argo 用户。

当然易观所做的不只是如此,作为行业的领军者,在实现技术开源后,更要从理念和认知上普及数据对于业务的价值所在。技术大会,无疑是对开发者发声的最佳渠道。

3 降低数据分析门槛,共建数据研发生态 - 易观 A10 大会

因此,为了让数据能力被更多的开发者所认识到,为了更加普及数据的价值。易观在面向社区做出了技术开源与降低门槛的举措后,本着践行让数据能力平民化的核心使命,10 月 24-26 日,易观将在上海正式举办【易观 A10 数据智能生态大会】。

关于大会:易观 A10 大会(Analysys 10)作为中国互联网领域最具影响力的交流分享平台之一,由中国领先的数据智能产品和平台提供商易观于 2010 年创办。截止目前,大会已历经九届,汇聚全球范围内的行业先锋与专家大咖,分享最佳实践经验与商业发展趋势,并展现融合多元技术与商业洞见的数据生态。

4 为什么 InfoQ 推荐你参加易观 A10 大会?
  • 60 余个论坛主题,关于数据的最佳实践与商业发展趋势,你在这都能预见;
  • 通过系统解读各行业数据应用场景与实际业务增长难题,确保每一位参会者都会构建起完整的精益成长知识体系;
  • 了解 Analysys、Pivotal 以及 Kylin 的开源之旅;
  • 单日可承载每天数万级任务的数据调度系统是如何被设计出来的?只有来到现场才能知道;
  • 数据湖在当下如此巨大的数据体量面前的案例实践;
  • 快速构建用户行为数据中台的全流程。

当下国内如此繁荣的开源盛况,离不开每一位对社区做出贡献的开发者。因此,为了感谢开发者对于开源的贡献,易观携手 InfoQ 为大家送上大会福利!现在 扫描下方二维码点击阅读原文 填写表单,即可获取 InfoQ 为社区开发者提供的大会购票专属优惠码。

10 月 25 日,2019 易观 A10 数据智能生态大会【开源与生态——开发者专场】,期待各位的到来!

登录查看更多
1

相关内容

Apache 是一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。 同时 Apache 也是一个专门为支持开源软件项目而办的一个非盈利性组织。
【干货书】现代数据平台架构,636页pdf
专知会员服务
258+阅读 · 2020年6月15日
德勤:2020技术趋势报告,120页pdf
专知会员服务
191+阅读 · 2020年3月31日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
138+阅读 · 2019年12月12日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
96+阅读 · 2019年12月4日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
23+阅读 · 2019年11月7日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
OLAP引擎这么多,为什么苏宁选择用Druid?
51CTO博客
12+阅读 · 2018年12月20日
Java 工程师快速入门深度学习,可以从 Deeplearning4j 开始
人工智能头条
13+阅读 · 2018年12月14日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
开源巨献:阿里巴巴最热门29款开源项目
算法与数据结构
5+阅读 · 2017年7月14日
Spark App自动化分析和故障诊断
CSDN大数据
7+阅读 · 2017年6月22日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
8+阅读 · 2018年6月19日
Arxiv
3+阅读 · 2018年5月28日
VIP会员
相关VIP内容
相关资讯
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
OLAP引擎这么多,为什么苏宁选择用Druid?
51CTO博客
12+阅读 · 2018年12月20日
Java 工程师快速入门深度学习,可以从 Deeplearning4j 开始
人工智能头条
13+阅读 · 2018年12月14日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
开源巨献:阿里巴巴最热门29款开源项目
算法与数据结构
5+阅读 · 2017年7月14日
Spark App自动化分析和故障诊断
CSDN大数据
7+阅读 · 2017年6月22日
Top
微信扫码咨询专知VIP会员