【搞事情】10万级商用etl作业调度工具taskctl免费开源了

浏览: 1822

工具背景

taskctl是一款由成都塔斯克信息技术公司历尽10年研发的etl作业集群调度工具,该产品概念新颖,体系完整、功能全面、使用简单、操作流畅,它不仅有完整的调度核心、灵活的扩展,同时具备完整的应用体系。目前已获得金融,政府,制造,零售,健康,互联网等领域1000多家头部客户认可。

2020年疫情席卷全球,更是对整个市场经济造成了严重影响,导致很多中小型企业业务链受阻,大型企业经费资金吃紧,轮班制导致公司运维人员工作量大幅增加;塔斯克信息技术公司经领导研究决定为了履行社会责任,积极回报社会,帮助在此疫情期间受影响的企业减少运维资金支出、提升工作效率、保证后台数据安全,工作需求场景能够应用到的ETL批量作业调度工具的,将在此疫情期间让你白嫖免费使用价值总额约10万级的TASKCTL

为什么需要调度系统?

开局我们先扫盲。

我们都知道大数据的计算、分析和处理,一般由多个任务单元组成(Hive、Sparksql、Spark、Shell等),每个任务单元完成特定的数据处理逻辑。

多个任务单元之间往往有着强依赖关系,上游任务执行并成功,下游任务才可以执行。比如上游任务结束后拿到 A 结果,下游任务需结合 A 结果才能产出 B 结果,因此下游任务的开始一定是在上游任务成功运行拿到结果之后才可以开始。

而为了保证数据处理结果的准确性,就必须要求这些任务按照上下游依赖关系有序、高效的执行。一个较为基础的处理方式是,预估出每个任务处理所需时间,根据先后顺序,计算出每个任务的执行的起止时间,通过定时跑任务的方式,让整个系统保持稳定的运行。

一个完整的数据分析任务最少执行一次,在数据量较少,依赖关系较为简单的低频数据处理过程中,这种调度方式完全可以满足需求。然而在企业级场景中,更多的是需要每天执行,如果任务数量较多,在任务启动的时间计算上就将耗费大量时间,另外如果出现上游任务执行时长超出原定预计时间或者运行异常的问题,上述的处理方式将完全无法应对,也会对人力物力造成重复损耗,因此,对于企业数据开发过程来说,一个完整且高效的工作流调度系统将起到至关重要的作用。

Oozie

Oozie:训象人(调度mapreduce)。

一个基于工作流引擎的开源框架,Oozie需要部署到java servlet中运行,主要用于定时调度,多任务之间按照执行的逻辑顺序调度。

它有如下功能特点:

  1. 统一调度hadoop系统常见的mr任务启动,hdfs操作,shell调度,hive操作等;
  2. 让复杂的依赖关系,时间触发,事件触发使用xml语言进行表达,开发效率增高(这个不一定,个人很讨厌xml,我觉得效率不高…);
  3. 一组任务使用一个DAG表示,使用图形表达,流程清晰;
  4. 支持多种任务调度,能完成大部分的hadoop任务;
  5. 程序定义支持EL常量和函数,表达丰富;
  6. Oozie规定在完成工作后发送电子邮件通知;
  7. Azkaban使用Web操作。Oozie支持Web,RestApi,Java API操作;

Azkaban

Azkaban是由Linkedin开源的一个批量工作流任务调度器。

用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

它有如下功能特点:

  1. Web用户界面
  2. 方便上传工作流
  3. 方便设置任务之间的关系
  4. 调度工作流
  5. 认证/授权(权限的工作)
  6. 能够杀死并重新启动工作流
  7. 模块化和可插拔的插件机制
  8. 项目工作区
  9. 工作流和任务的日志记录和审计

taskctl

是一款功能全面的作业自动化调度技术管理工具。通过TASKCTL,可以快速将这些作业组织起来,并进行有效的管理以及各种参数化运行控制。在业界,普遍将这种技术称为作业调度,其技术本质是作业运行管理的自动化控制。

基于成都塔斯克旗下产品taskctl部署面向于个人、企业主和独立数据应用开发商提供的一个一站式大数据工具平台和社区。基础套餐永久免费!透过taskctl,个人和企业无需过多关注大数据底层存储和计算引擎的复杂的安装、繁琐的配置和日常运维,即可将自有的多来源业务系统数据进行集成和开发,形成数据资产,并赋能于自有作业场景,在云端轻松构建自有数据中台。

taskctl调度功能如下:

  1. 完成20多种数据源的适配调度:Mysql、Oracle、Hive、HBase、Redis、MongoDB、ODPS、Postgresql、ElasticSearch、WebService、GBase等;
  2. 模块化和可插拔的插件机制:屏蔽各种应用平台技术差异,适配统一的执行、停止及状态日志查询访问接口
  3. 支持可视化工作流配置:支持图形拖拽、自动化最小交叉排版,清楚地展示了作业节点之间的串并关系;不同类型作业图标自定义、正执行作业节点快速定位;
  4. 支持任务告警:邮件,短信,微信,钉钉等多渠道订阅,平台消息,流程消息、作业消息多层次推送
  5. 人工干预多样化:正常调度,自由调度,虚拟调度。强制中断、强制通过、禁用通过、预设断点、忽略条件等;
  6. 支持作业优先级配置:平台级、流程级和作业级并行控制、资源权重设置。动态设置作业优先级置顶等操作。
  7. 支持工作流与工作流之间组装:支持各种层级的调度元信息架构组织,如:工程à工作流(可嵌套)à模块(可嵌套)à作业
  8. 支持工作流测试运行:支持流程开发完整体系,如编码à编译à调试à 版本发布à运行一整套完整的生命周期管理。
  9. 出错任务快速定位:提供了“正执行、异常”等状态的作业节点自动跟踪定位功能。

TIM截图20200622104140.png

总结

Apache Oozie 是一个重量级的任务调度系统,功能全面,但是部署及配置会比较麻烦,从 crontab 到 Oozie 上手会有一定难度。Azkaban 是介于 oozie 和 Crontab 之间的工具,但是安全性上不如 Oozie,同时如果出现失败情况,Azkaban会丢失所有的工作流,Oozie则可以继续运行。taskctl相较于以上两种工具而言,解决了配置及部署复杂的问题,易于扩展的同时,也在工作流中有了更多方便开发及运维的其他功能。

不会配置使用怎么办?

考虑到很多运维小伙伴还是第一次接触我们公司的taskctl调度产品,会涉及到操作界面、软件配置、环境搭建等一系列问题盲区,为此我们在资源压缩包内,附带了14节从0-1得软件安装配置

教学视频:     

除视频教学外,我们还提供24小时免费线上人工一对一咨询答疑服务,让你在使用过程中无任何障碍;

推荐 0
本文由 ETL批量调度-Taskctl 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

ETL批量调度-Taskctl

ETL批量调度-Taskctl 一款B/S架构的轻量级ETL调度处理工具;支持各类脚本任务程序和扩展;具备可视化图形拖拽设计界面以及可视化任务管理、计划调度、实时监控、消息预警和日志分析;有效弥补了传统ETL工具在调度管理和监控分析方面不足。

领取方式:微信搜索并关注公众号 "taskctl" ,回复关键词 "资料领取",就可以得到以上得这些啦,数量有限,先到先得哦~

要回复文章请先登录注册