🚀 优质资源分享 🚀
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
点亮 ⭐️ Star · 照亮开源之路
GitHub:https://github.com/apache/dolphinscheduler
Apache DolphinScheduler是一款非常不错的调度工具,可单机可集群可容 器,可调度sql、存储过程、http、大数据等,也可使用shell、python、java、flink等语言及工具,功能强大类型丰富,适合各类调度型任务,社区及项目也十分活跃,现在Github中已有8.5k的star👍
准备工作
阅读本文前建议您先阅读下官方的文档
文档链接:https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/guide/parameter/context.html
在这里,先准备下sql表资源,以下为postgresql
的sql
脚本:
表结构
CREATE TABLE dolphinscheduler.tmp (
id int4 NOT NULL,
"name" varchar(50) NULL,
"label" varchar(50) NULL,
update_time timestamp NULL,
score int4 NULL,
CONSTRAINT tmp_pkey PRIMARY KEY (id) );
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z0XwmqCP-1661879630373)(https://img2022.cnblogs.com/blog/2685289/202208/2685289-20220830211756639-883973875.gif “点击并拖拽以移动”)]
表数据
INSERT INTO tmp (id,"name","label",update_time,score) VALUES
(3,'二狗子','','2022-07-06 21:49:26.872',NULL),
(2,'马云云','',NULL,NULL),
(1,'李思','','2022-07-05 19:54:31.880',85);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YnAkKbWb-1661879630375)(https://img2022.cnblogs.com/blog/2685289/202208/2685289-20220830211756639-883973875.gif “点击并拖拽以移动”)]
我这里使用的 postgresql 的数据库,如果您是 mysql 或者其他数据的用户,请自行更改以上表和数据并添加到库中即可~
表及数据入库,请将tmp所属的库配置到 DS后台->数据源中心->创建数据源 ,以下是我的配置,记住,这里面的所有数据库配置均遵守所属数据库类型的jdbc 的 driver 的配置参数,配置完成也会在DS的数据库生成一条 jdbc 的连接地址,这点要明白~
简单的项目创建及说明
因为DolphinScheduler的任务是配置在项目下面,所以第一步得新建一个项目,这样:DS后台
->项目管理
->创建项目
,这是我创建的请看下图:
准备完项目之后,鼠标点进去,并进入到工作流定义菜单 页面,如下图:
简单解释下DS的基本结构
首先,DS一般部署在 linux 服务器下,创建任务的用户需要在 admin账户 下创建,重要的是创建的每个工作账户需要与操作系统用户一一对应.
比如你创建了一个 test 的DS账户,那所在的服务器也必须有一个test的账户才可行,这是DS的规则。
每个用户下(除了admin外)所能创建的调度任务均在各自创建的项目下,每个项目又分为多个任务(工作流定义),一个任务下又可分为多个任务节点。
下图为任务定义