尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Apache DolphinScheduler 接入 DolphinDB 数据源:配置指南与 JDBC 连接原理

发布时间:2026/9/15 20:32:15

资讯中心
01
ARTICLE

Apache DolphinScheduler 接入 DolphinDB 数据源:配置指南与 JDBC 连接原理

Apache DolphinScheduler 接入 DolphinDB 数据源:配置指南与 JDBC 连接原理
Apache DolphinScheduler 接入 DolphinDB 数据源配置指南与 JDBC 连接原理【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler导读本文讲解如何在 Apache DolphinScheduler 中创建并使用DOLPHINDB类型数据源。DolphinDB 是一个面向时序数据的高性能分布式数据库常用于量化金融、物联网等场景的流式计算与数据存储在 DolphinScheduler 中将其配置为数据源后SQL 类任务即可通过 JDBC 直接查询/写入 DolphinDB。读完本文你将掌握数据源表单各字段的填写方法、JDBC 连接参数other参数的拼接规则、驱动激活的前置条件插件依赖下载与激活以及驱动名、JDBC URL、校验查询等底层实现细节。DOLPHINDB 数据源表单配置在 DolphinScheduler Web 界面中进入安全中心 → 数据源中心 → 创建数据源在数据源下拉框中选择DOLPHINDB即可看到如下配置表单各字段含义如下字段说明数据源选择DOLPHINDB对应源码中的数据库类型枚举DbType.DOLPHINDB数据源名称输入数据源的名称用于在 DolphinScheduler 中标识该数据源描述输入数据源的描述信息可选IP 主机名输入连接 DolphinDB 的 IP 地址或主机名端口输入连接 DolphinDB 的端口DolphinDB 默认端口为 8848用户名设置连接 DolphinDB 的用户名DolphinDB 内置管理员默认用户名为admin密码设置连接 DolphinDB 的密码JDBC 连接参数用于 DolphinDB 连接的参数设置以 JSON 形式填写例如{serverTimezone:utc}JDBC 连接参数other 参数的填写规则表单中的JDBC 连接参数以 JSON 对象形式输入最终会被拼接到 JDBC URL 的查询串中。从源码实现来看DolphinDBDataSourceProcessor#transformOther会将 JSON 中的每个key-value转换为keyvalue形式并用连接见 DolphinDBDataSourceProcessor.javaprivate String transformOther(MapString, String otherMap) { if (MapUtils.isEmpty(otherMap)) { return null; } ListString list new ArrayList(otherMap.size()); otherMap.forEach((key, value) - list.add(String.format(%s%s, key, value))); return String.join(, list); }随后在getJdbcUrl中将其以?拼接在基础 URL 之后DolphinDBDataSourceProcessor.java#L111-L118Override public String getJdbcUrl(ConnectionParam connectionParam) { DolphinDBConnectionParam dolphinDBConnectionParam (DolphinDBConnectionParam) connectionParam; if (MapUtils.isNotEmpty(dolphinDBConnectionParam.getOther())) { return String.format(%s?%s, dolphinDBConnectionParam.getJdbcUrl(), transformOther(dolphinDBConnectionParam.getOther())); } return dolphinDBConnectionParam.getJdbcUrl(); }也就是说如果填写{serverTimezone:utc}最终生成的 JDBC URL 即为jdbc:dolphindb://IP:PORT?serverTimezoneutc连接参数如何组装成 JDBC URL创建数据源时DolphinDBDataSourceProcessor#createConnectionParams会根据表单填写的主机、端口等信息组装出连接串DolphinDBDataSourceProcessor.java#L76-L93String address String.format(%s%s:%s, DataSourceConstants.JDBC_DOLPHINDB, dolphinDBParam.getHost(), dolphinDBParam.getPort()); String jdbcUrl String.format(%s, address);其中JDBC_DOLPHINDB常量的值为jdbc:dolphindb://见 DataSourceConstants.java。因此当主机为localhost、端口为8848时生成的address与jdbcUrl均为jdbc:dolphindb://localhost:8848单元测试 DolphinDBDataSourceProcessorTest.java 也验证了这一行为createConnectionParams后断言address与jdbcUrl均等于jdbc:dolphindb://localhost:8848。密码加密与唯一标识在createConnectionParams中密码通过PasswordUtils.encodePassword进行加密存储建立实际连接时再通过PasswordUtils.decodePassword解密DolphinDBDataSourceProcessor.java#L121-L130。同时数据源唯一标识由数据库类型用户名密码JDBC URL拼接而成测试用例中给出的示例为dolphindbadmin123456jdbc:dolphindb://localhost:8848/见 DolphinDBDataSourceProcessorTest.java#L96-L106。是否原生支持驱动激活是前提DolphinDB 数据源在 DolphinScheduler 中不是开箱即用原生支持的使用前需要手动激活否使用前需参考 伪集群部署pseudo-cluster仓库路径为 docs/docs/zh/guide/installation/pseudo-cluster.md中的下载插件依赖章节激活数据源。JDBC 驱动配置参考文档DolphinDB JDBC Connector 官方文档。驱动 Maven 依赖com.dolphindb:jdbc:3.00.3.0。为什么需要手动激活3.3.0 起插件依赖默认不随二进制包分发自 3.3.0 版本开始DolphinScheduler 二进制发行包不再内置插件依赖需要用户自行下载。具体操作见伪集群部署文档中的下载插件依赖章节pseudo-cluster.md#L19-L36bash ./bin/install-plugins.sh 3.3.0通常不需要安装全部连接器插件可以通过配置conf/plugins_config指定所需插件。例如仅启用 DolphinDB 数据源插件可在 config/plugins_config 中做如下配置--datasource-plugins-- dolphinscheduler-datasource-dolphindb --end--当前仓库的 config/plugins_config 默认已将dolphinscheduler-datasource-dolphindb列入--datasource-plugins--段见 plugins_config#L65。若启动服务时遇到ClassNotFoundException请检查是否缺少插件依赖包。驱动在源码中的定义驱动类名与校验查询语句定义在 DataSourceConstants.java 中常量值说明COM_DOLPHINDB_JDBC_DRIVERcom.dolphindb.jdbc.DriverDolphinDB JDBC 驱动类全限定名第 46 行JDBC_DOLPHINDBjdbc:dolphindb://JDBC URL 前缀第 72 行DOLPHINDB_VALIDATION_QUERYselect 1连接池存活校验查询第 94 行DolphinDBDataSourceProcessor通过getDatasourceDriver()与getValidationQuery()分别返回驱动类名和校验语句DolphinDBDataSourceProcessor.java#L100-L108对应测试 DolphinDBDataSourceProcessorTest.java#L69-L93 中分别断言了驱动名与校验查询的正确性。Maven 依赖声明DolphinDB 数据源插件模块的pom.xml中声明了 JDBC 依赖pom.xmldependency groupIdcom.dolphindb/groupId artifactIdjdbc/artifactId /dependency版本由父级dolphinscheduler-bom统一管理文档标注版本为3.00.3.0插件名称为datasource.dolphindbpom.xml#L32。数据源插件在源码中的落地结构从源码结构看DolphinDB 数据源插件由四个核心组件构成位于 dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-dolphindb 模块组件文件职责参数处理器DolphinDBDataSourceProcessor.java校验表单参数、组装连接参数、生成 JDBC URL、建立连接通道工厂DolphinDBDataSourceChannelFactory.java通过AutoService(DataSourceChannelFactory.class)向 DolphinScheduler SPI 注册getName()返回dolphindb数据源通道DolphinDBDataSourceChannel.java创建临时AdHoc客户端与连接池Pooled客户端连接客户端DolphinDBAdHocDataSourceClient.java 与 DolphinDBPooledDataSourceClient.java分别继承BaseAdHocDataSourceClient/BasePooledDataSourceClient提供一次性查询与连接池复用两种连接模式其中DolphinDBDataSourceProcessor与DolphinDBDataSourceChannelFactory均使用AutoService注解注册到 Java SPI 中DolphinScheduler 服务启动时通过 SPI 自动发现并加载该插件这也是插件化数据源架构的核心机制。getConnection通过JdbcDriverConnectionProvider完成实际 JDBC 连接创建并将驱动类名、URL、用户名与解密后的密码一并传入DolphinDBDataSourceProcessor.java#L121-L130。使用建议与注意事项先激活再创建由于非原生支持请先在 伪集群部署文档 的下载插件依赖章节执行插件安装脚本并通过conf/plugins_config仓库内模板见 config/plugins_config确认dolphinscheduler-datasource-dolphindb在启用列表中否则创建数据源或运行任务时会因缺少驱动类而失败。端口与默认账号DolphinDB 默认端口为 8848默认管理员账号为admin请在表单中正确填写如使用其他账号请确保该账号具备相应库表权限。JDBC 连接参数格式JDBC 连接参数必须以 JSON 对象形式填写key-value 会被转换为keyvalue并通过拼接到 URL 查询串不要在该字段填写 JSON 数组或非法 JSON否则checkOther参数校验将无法通过。连接池校验连接池会以select 1作为存活校验查询DOLPHINDB_VALIDATION_QUERY该语句由 DolphinDB JDBC 驱动执行正常返回即代表连接可用。【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。