网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Apache DolphinScheduler的杀手锏-简单易用
为了解决任务调度的问题,我们之前也尝试过几种其它的方案比如Quartz,但是Quartz虽然是Java的定时任务标准,但它针对的是定时任务而不是数据流,根据数据流处理去定制化流程的工作量很大。而且Quartz最大的问题是其ACID特性保证,完全是基于数据库实现的,不同节点之间是通过数据库表来感知状态的,如果某一个节点失效,那么Job执行的原子性是很难保证的,缺少分布式并行调度的功能。
当然后来的Airflow可能会比Quartz更好一点,但是Airflow的问题是可视化程度较低,流程及任务必须通过Python代码定义,如果一家机构拥有海量数据流程那么代码定义流程的方式维护起来简直是个噩梦,而且从我们实测的情况看,Airflow的可靠性一般,常出现卡死现象,当然这个也许是我们使用或者配置的问题,不是最终的结论。
对比之后,笔者觉得 Apache DolphinScheduler还是最舒服的,按照官网的说法Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
而笔者认为分布式与可视化DAG工作流,分别针对了Airflow和Quartz的痛点,而且从不少大牛的实测反馈看Apache DolphinScheduler的可靠性还是很强的。
正如我们前面所说一般目前的大型企业都需要把分析数据从OLTP 核心数据库中抽取到数据仓库中,有的还需要从数据仓库中再同步到数据湖里,个人觉得至少做这种不同类型数据库之间的传输工作,完全可以让Apache DolphinScheduler来进行一下试点,如果Apache DolphinScheduler真的可以全面铺开,那么这对于大数据工程师来说将是巨大福音,因为这是一个完全可视化的工具,只要把流程定义好,那么运行时的监控以及错误处理等关键环节也就自然生成了,这将极大为大数据同仁们减负!
本文正在参与 “拥开源 — Apache DolphinScheduler 有奖征稿活动
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**