DolphinScheduler单机版是一款开源的分布式任务调度系统,支持多种任务调度方式,包括依赖任务、周期任务、数据传输任务等。在使用DolphinScheduler时,我们通常需要与其他数据源进行连接,以便获取和处理数据。本文将介绍如何在DolphinScheduler单机版中连接MySQL数据库,并提供相应的代码示例。
首先,我们需要在DolphinScheduler的配置文件中配置MySQL数据库的连接信息。打开conf
目录下的application.properties
文件,找到数据库相关的配置项:
# MySQL configuration
spring.datasource.url=jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
在上述配置项中,spring.datasource.url
表示MySQL数据库的连接地址,spring.datasource.username
和spring.datasource.password
分别表示数据库的用户名和密码,spring.datasource.driver-class-name
表示数据库的驱动类名。
接下来,我们可以在DolphinScheduler中使用MySQL数据库了。以一个简单的示例任务为例,我们可以通过在任务的代码中使用JDBC连接MySQL数据库。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MySQLTask {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
String username = "root";
String password = "root";
try (Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM table_name")) {
while (rs.next()) {
// 处理查询结果
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
在上述代码中,我们使用DriverManager.getConnection
方法获取数据库连接,然后创建Statement
对象执行SQL查询语句,并通过ResultSet
对象遍历查询结果。
除了使用JDBC连接MySQL数据库,DolphinScheduler还提供了更便捷的方式连接数据库。我们可以在DolphinScheduler的任务配置中选择使用数据源,并在数据源配置中添加MySQL数据库的连接信息。
{
"name": "MySQL Task",
"type": "MYSQL",
"connectionParams": {
"url": "jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai",
"user": "root",
"password": "root"
},
"sql": "SELECT * FROM table_name"
}
在上述配置中,我们通过connectionParams
配置项添加MySQL数据库的连接信息,然后在sql
配置项中编写SQL查询语句。
通过以上步骤,我们就可以在DolphinScheduler单机版中连接MySQL数据库,并执行相应的查询操作了。
最后,我们来看一下DolphinScheduler的甘特图和关系图。以下是使用mermaid语法绘制的DolphinScheduler任务调度的甘特图:
gantt
dateFormat YYYY-MM-DD
title DolphinScheduler任务调度甘特图
section 任务A
任务A1 :done, des1, 2019-06-01,2019-06-02
任务A2 :done, des2, 2019-06-03,2019-06-05
任务A3 :done, des3, 2019-06-06,2019-06-07
section 任务B
任务B1 :done, des1, 2019-06-01,2019-06-03
任务B2 :done, des2, 2019-06-04,2019-06-05
任务B3 :done, des3, 2019-06-06,2019-06-08
section 任务C
任务C1 :done, des1, 2019-06-01,2019-06-02
任务C2 :done, des2, 2019-06-03,2019-06-07
任务C3 :done, des3, 2019-06-08,2019-06-09
以下是使用mermaid语法绘制的DolphinScheduler任务调度的关系图:
erDiagram
CUSTOMERS ||--o{ ORDERS : has