Apache DolphinScheduler征稿 — 小Demo轻松入门DolphinSchedule大数据调度工具

本文从实际需求出发,介绍Apache DolphinScheduler的使用背景和功能,包括安装启动、功能介绍、资源中心、数据源中心、监控中心、安全中心等。通过一个实际案例演示,展示了如何通过DolphinScheduler进行数据处理工作流的创建和调度,适合入门级学员学习。
摘要由CSDN通过智能技术生成


官方文档 | GitHub源码

随着大数据存储与分析技术的不断发展,越来越多类型组件需要我们去学习使用,并且通过代码来结合它们,这无疑加大了系统的复杂度和程序员/数据分析师的学习成本,本章将会从实际需求出发,介绍为什么要使用DolphinSchedule,如何使用DolphinSchedule,最后再用DolphinSchedule做一个普通的Demo小案例,希望能帮助到更多入门级的同学更快地上手


提示:以下是本篇文章正文内容,下面案例可供参考

一、从实际需求入手,我们为何要选择使用DolphinSchchedule

在公司的一个重点项目中,有使用到DataX(数据拉取) + Flink(算子链进行数据分析处理) + Mysql(元数据存储)的组合做数据分析,一套很精简的ETL过程。 例如我们想从HBase中拉取数据,根据列族和列名对数据进行解析还原,然后再对还原后的数据做一些筛选过滤,再进行一些分析汇总,最后保存起来,这一整套流程就可以通过上面的组合拳配合编码来实现。 但是,如何把ETL流程变得更好维护,更加直观清晰,无需硬编码就能实现自由组合的ETL? 我们很容易就想到通过做一套拖拉拽的调度工具,用户先输入数据源,然后我们拿着账密和端口和IP域名之类的去尝试着连接一下,数据源配好后,开始让用户自定义FlinkJob,提交Main方法,最后配置输出源,整个流程就完成。

在这里插入图片描述
看似简单的背后,还有很多坑要去仔细思考设计,例如:
(1)用户创建的流程执行到一半失败怎么办?
(2)怎样的拖拉拽和流程监控界面交互比较好?
(3)如果我要做一些定时任务怎么办?某个时间段内定时任务多,等待队列怎么设计?任务的优先级设计?
(4)某些数据流执行失败需要有告警?
(5)数据流集群版该怎么设计?怎样事实监控集群服务器的健康状况?
(6)如何设计让不懂编码的数据分析师和管理员也能使用这套工具搭建自己的ETL数据流?
……
这一堆又一堆的问题,做起来会是非常的麻烦,特别是如果项目主线不侧重这一方面,这种辅助的调度管理工具可能就不愿意投入这么大量的人力物力工时去做。
而DolphinSchedule,就是这么一套调度工具,根据它官网的介绍,(加粗)DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用(加粗)。
它的主要架构图如下:
在这里插入图片描述

备注:
ETL:Extract(数据抽取)-Transform(数据转换)-Load(数据加载)
DAG:从一个或者多个节点出发,具有方向性的经过中间每一个节点,且无法回到出发的节点,则称为有向无环图Direct-Acyclic-Graph

二、DolphinSchchedule的背景知识

上面介绍了实际需求中什么情况下会使用到它,这里就介绍一下它的诞生和发展
Dolp

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值