前言:
眼前同学们对“python调度kettle”大概比较注重,大家都需要了解一些“python调度kettle”的相关知识。那么小编在网上网罗了一些关于“python调度kettle””的相关知识,希望大家能喜欢,大家一起来学习一下吧!说起调度系统,市面上有很多选择:
- linux自带crontab,可以简单启动定时任务
- java知名的quartz框架,可以与spring简单整合,是早期的首选
- 国内开源的 xxl-job、elasticjob 是后期之秀,解决了一些痛点,有一定用户群
而到了大数据领域,由于需要跟mapreduce、spark等大数据框架整合,也有一些选择:
- oozie是相对重的一些选择,配置丰富
- azkaban是后来兴起的框架,可能大部分大数据部门一直在用
- 后来出现了airflow,拥有一些拥趸
除此之外,kettle作为ETL工具提供了简单调度;spring batch作为一个批处理框架,也有用作调度。
今天小编介绍一款国人的新型调度工具:DolphinScheduler
目前小编所在团队已经使用了一段时间,相比上述已有选择有一定的优势。
该调度工具早已经是Apache的孵化项目了,有望成为正式项目,可能是既 Skywalking后的又一个国人力作![鼓掌]
简介:
简单来说,DolphinScheduler是一个分布式的、可视化的(所有流程都可以拖拉拽)的工作流调度系统。
主要特色:
整体架构图:
在大数据调度领域,为什么选择DolphinScheduler,而不是已有的 Azkaban / Airflow ?[what]
个人觉得主要还是这几个点:
- 一是分布式和高可用比较简单,相对其他框架配置起来容易,运维也就容易[灵光一闪]
- 可视化的DAG,基于vue做的前端,拖拉拽配置DAG,比起配置 yml、xml、properties 还是容易[鼓掌]
- 支持的数据源也不错。 支持flink、支持datax、支持clickhouse 等比较新型的技术
- 性能不错
- java写的源码,二次开发容易;而且社区确实看出来是用心在运营,不愁生态圈。
DolphineScheduler主要功能特性:
* 以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态
* 支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等
* 支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、- 从指定节点恢复失败、Kill任务等操作
* 支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败
* 支持工作流全局参数及节点自定义参数设置
* 支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑
* 支持任务日志在线查看及滚动、在线下载日志等
* 实现集群HA,通过Zookeeper实现Master集群和Worker集群去中心化
* 支持对Master/Worker cpu load,memory,cpu在线查看
* 支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计
* 支持补数
* 支持多租户
DolphineScheduler 安装搭建:
- 本身就是自带HA,因此集群搭建还是很容易的
- 依赖 postgresql/mysql , java ,zookeeper ;依赖比较少;
- 也有docker的镜像
DolphinScheduler 使用:
- 直接在web界面上配置
- 配置租户,创建用户,关联租户
- 新建项目,配置工作流
- 工作流启动岂可。
DolphineScheduler 主要用户
大数据领域的调度,除了传统的azkaban外,可以试一下DolphinScheduler,小编看好它的前景。
#技术分享# #大数据# #互联网#
标签: #python调度kettle