最近遇到了不少正在研究ETL及其工具的同窗向咱们抱怨:一样都在用 Kettle ,起点明明没差别,但为何别人ETL作的那么快那么好,本身却不断掉坑? html
其实,相似于像 Kettle 这样开源的工具,已经覆盖了大部分平常工做所需的功能了,直接部署一套就可以解决企业基本的需求。但在实际使用的过程当中咱们也会发现,kettle 如同是一个出场自带电话短信功能的智能手机,少了功能各异的智能 App 的配合,和只能接打电话的老年机也没什么不一样。java
今天咱们就先对其中一个比较火热的“App”——调度工具,作一个简单的评测对比,帮助你们快速解锁用开源工具作 ETL 的新姿式。linux
开局咱们先扫盲。git
咱们都知道大数据的计算、分析和处理,通常由多个任务单元组成(Hive、Sparksql、Spark、Shell等),每一个任务单元完成特定的数据处理逻辑。github
多个任务单元之间每每有着强依赖关系,上游任务执行并成功,下游任务才能够执行。好比上游任务结束后拿到 A 结果,下游任务需结合 A 结果才能产出 B 结果,所以下游任务的开始必定是在上游任务成功运行拿到结果以后才能够开始。web
而为了保证数据处理结果的准确性,就必需要求这些任务按照上下游依赖关系有序、高效的执行。一个较为基础的处理方式是,预估出每一个任务处理所需时间,根据前后顺序,计算出每一个任务的执行的起止时间,经过定时跑任务的方式,让整个系统保持稳定的运行。sql
一个完整的数据分析任务最少执行一次,在数据量较少,依赖关系较为简单的低频数据处理过程当中,这种调度方式彻底能够知足需求。然而在企业级场景中,更多的是须要天天执行,若是任务数量较多,在任务启动的时间计算上就将耗费大量时间,另外若是出现上游任务执行时长超出原定预计时间或者运行异常的问题,上述的处理方式将彻底没法应对,也会对人力物力形成重复损耗,所以,对于企业数据开发过程来讲,一个完整且高效的工做流调度系统将起到相当重要的做用。shell
不少同窗上手 ETL 工做以后,最早接触到的应该是 linux 自带的按期执行程序的命令 Crontab,使用简单,运行稳定,当安装完成操做系统以后,默认便会启动此命令。上手容易可是也有本身的缺点,好比当任务变多以后没法管理、crontab 在机器上,没法备份,挂机就没。所以咱们在这里对 crontab不作过多介绍,主要针对较为成熟的工做流调度工具:Apache Oozie、Azkaban、数栖云进行横评。apache
一、Oozie安全
Oozie:训象人(调度mapreduce)。一个基于工做流引擎的开源框架,Oozie须要部署到java servlet中运行,主要用于定时调度,多任务之间按照执行的逻辑顺序调度。
Oozie 下载地址:https://oozie.apache.org
它有以下功能特色:
二、Azkaban
Azkaban是由Linkedin开源的一个批量工做流任务调度器。用于在一个工做流内以一个特定的顺序运行一组工做和流程。Azkaban定义了一种KV文件格式来创建任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工做流。
Azkaban 下载地址:https://azkaban.github.io/downloads.html
它有以下功能特色:
三、数栖云
基于数澜科技旗下产品数栖4.0部署于云端,面向于我的、企业主和独立数据应用开发商提供的一个一站式大数据工具平台和社区。基础套餐永久免费!透过数栖平台,我的和企业无需过多关注大数据底层存储和计算引擎的复杂的安装、繁琐的配置和平常运维,便可将自有的多来源业务系统数据进行集成和开发,造成数据资产,并赋能于自有业务场景,在云端轻松构建自有数据中台。
数栖云产品介绍页面:dtcloud.dtwave.com
数栖云在线注册使用地址:shuqi.dtwave.com
数栖云调度功能以下:
(Oozie、Azkaban、数栖云功能对比)
Apache Oozie 是一个重量级的任务调度系统,功能全面,可是部署及配置会比较麻烦,从 crontab 到 Oozie 上手会有必定难度。Azkaban 是介于 oozie 和 Crontab 之间的工具,可是安全性上不如 Oozie,同时若是出现失败状况,Azkaban会丢失全部的工做流,Oozie则能够继续运行。数栖云相较于以上两种工具而言,解决了配置及部署复杂的问题,易于扩展的同时,也在工做流中有了更多方便开发及运维的其余功能。
(数栖云产品优点)
固然数栖云不只仅是一个功能全面的工做流调度工具,做为一个一站式大数据平台,它同时涵盖如下功能,不管是简单的 ETL 工做,仍是复杂的数据中台构建工做,使用数栖云均可以完成。基础版永久免费!不管遇到什么问题都能找客服解决,比开源产品体验好 100 倍的工具,肯定不来试试看嘛?
更多详情请点击连接了解:dtcloud.dtwave.com
也能够直接扫描二维码,直接进入产品使用!