一款简单好用的数据调度工具:DolphinSchedule

科技   2024-11-08 14:00   广东  


大家好,我是岳哥。

今天给大家分享一下常用的一款数据调动工具:DolphinSchedule。

下载地址

https://dolphinscheduler.apache.org/en-us/download/3.2.2

前置条件

JDK:下载JDK (1.8+),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中。如果你的环境中已存在,可以跳过这步。

解压并启动

压缩包中有 standalone 启动的脚本,解压后即可快速启动。
# 解压并运行 Standalone Server
tar -xvzf apache-dolphinscheduler-*-bin.tar.gz
chmod -R 755 apache-dolphinscheduler-*-bin
cd apache-dolphinscheduler-*-bin
bash ./bin/dolphinscheduler-daemon.sh start standalone-server


功能介绍

DolphinSchedule(以下简称小海豚)是一款可跨平台跨库的数据同步和调度工具,常用在作大数据调度工具,当然也支持关系数据库的调度,具有可视化操作界面,只需要配置相关参数即可快速执行相关调度任务,目前仅支持Linux系统。

这里我们以不同的关系数据库同步数据,来给大家介绍一下具体用法。

操作步骤

1、登录小海豚的web界面

账号密码在安装的时候由管理员设定,默认地址是:

http://localhost:12345/dolphinscheduler/ui 

即可登录系统 UI。

默认的用户名和密码是:

admin/dolphinscheduler123

2、配置数据源中心

进入首页后,我们需要配置数据库连接,点击菜单栏里的“数据源中心”即可开始配置数据源

进入数据源配置中心,点击“创建数据源”,在弹出的页面上填写你需要连接的数据库信息

按页面要求填写数据库的对应信息即可。

填完后点击“测试连接”,在弹出连接成功点“确定”即可。

3、创建项目

1)点击菜单栏的“项目管理”,在打开的页面点击“创建项目”,在弹出的页面上填写项目名称即可。

2)创建成功后,点击创建好的项目名称,进入项目配置界面

点击左侧菜单栏中的“工作流定义”—“创建工作流”

在显示的页面中开始配置你的数据同步工作流

从左侧的控件中找到“DataX”控件(DataX的用法此前分享过,具体用法可见这篇:阿里开源的数据同步工具 DataX,稳定又高效,好用到爆!),将其拖入右边的工作区,开始配置工作流

节点名称填写当前工作流需要完成的任务即可,其它标红色“*”的为必选项,用默认配置即可,拉到页面底部开始配置同步任务。

在“SQL语句”的上下部分分别是源数据库和目标数据库,我们选择对应的源和目标数据库和表即可。

然后将我们的需要进行同步代码填写在“SQL语句”区域

注意:SQL语句区域通常只能写SELECT查询语句,因为默认是通过INSERT INTO操作来同步源和目标的,所以这里不能写其它DML语句(增,删,改)

其次SQL语句的列必须与目标数据库中目标表的字段数量一致,不抽取的字段可以用NULL代替,但不能缺失,否则会造成抽取数据列数不一致的错误。

3)创建成功后回到工作流界面,点击已经配置好的工作流右侧按钮“上线”,然后点击“运行”按钮,检查配置是否成功

如果返回的状态显示失败,则需要重新检查工作流配置内容。

4、配置定时任务

1)在工作流运行状态显示成功后,表示可以正常执行,接着点击“定时任务”按钮开始配置定时任务。

在打开的页面选择右侧按钮“编辑”

在弹出的页面中点击“定时”即可开始配置具体的执行时间和执行周期。

配置参数与Linux的定时任务类似,配置完成后记得点击“执行时间”查看定时任务接下来5次的执行具体时间,看是否与我们想要执行的时间一致。

确认时间和执行执行周期没问题后点击确定完成定时任务配置。

2)配置完定时任务务必记得要点击“上线”才能生效,如不点击则定时任务不会按时执行。


5、查看工作流实例

1)点击左侧菜单栏“工作流实例”可以看到我们的工作流的执行情况

如发现有非“成功”状态,则需检查工作流的工作日志。

2)点击“工作流实例”进入到工作流执行界面,双击具体的工作流

双击后我们可以看到弹出的工作流节点设置页面,

点击查看日志即可查看当前工作流的最新执行情况

通常如果有报错,会在最后面几行显示error提示,可以根据提示去调整工作流任务。

附:DataX脏数据问题解决办法

在进行抽数过程中,DataX转存数据时会出现的脏数据问题,此时需要自定义json模板来扩大脏数据阈值

1、编辑好SQL后运行,注意运行会失败,在失败日志中找到包含“content”,“setting”字段的json语句

2、复制整段json语句,注意密码为“*****”需要手动替换,并以这段语句为值,增加键"job",如

3、找到“setting”字段,修改percentage和record,#对脏数据最大记录数阈值(record值)或者脏数据占比阈值(percentage值,当数量或百分比)

在工作流定义中,选择“自定义模板”并将编辑好的json复制,即可


最后

给大家推荐一下我们的GPT 4.0/4o/o1 preview系统,一次性买了200多个Plus会员放在这个系统的池子里,无需梯子即可直连,费用还比官网便宜一半,包售后。更多介绍点击这里每月仅需88元!
我是岳哥,每天会分享一道SQL面试题并和大家聊聊近期的所见所闻
欢迎关注,下期见~

SQL数据库开发
8年开发,5年管理,一个懂职场和AI的数据人。专注数据,Ai和职场等领域。回复「1024」,领取500G技术教程
 最新文章