From c5961aed25329b1cbd0aab34fc49cc7cffb39753 Mon Sep 17 00:00:00 2001 From: HuangWei Date: Tue, 31 May 2022 11:00:21 +0800 Subject: [PATCH] [feat][task] Add OpenMLDB task plugin (#10198) --- docs/configs/docsdev.js | 8 + docs/docs/en/guide/task/openmldb.md | 76 ++++++++ docs/docs/zh/guide/task/openmldb.md | 68 +++++++ .../demo/openmldb-feature-extraction.png | Bin 0 -> 153223 bytes docs/img/tasks/demo/openmldb-load-data.png | Bin 0 -> 91248 bytes docs/img/tasks/icons/openmldb.png | Bin 0 -> 90057 bytes .../dolphinscheduler-task-all/pom.xml | 6 + .../dolphinscheduler-task-openmldb/pom.xml | 45 +++++ .../task/openmldb/OpenmldbParameters.java | 90 +++++++++ .../plugin/task/openmldb/OpenmldbTask.java | 176 ++++++++++++++++++ .../task/openmldb/OpenmldbTaskChannel.java | 47 +++++ .../openmldb/OpenmldbTaskChannelFactory.java | 44 +++++ .../task/openmldb/OpenmldbTaskTest.java | 89 +++++++++ .../plugin/task/python/PythonTask.java | 29 +-- dolphinscheduler-task-plugin/pom.xml | 1 + .../public/images/task-icons/openmldb.png | Bin 0 -> 90057 bytes .../images/task-icons/openmldb_hover.png | Bin 0 -> 10323 bytes .../src/locales/en_US/project.ts | 8 + .../src/locales/zh_CN/project.ts | 8 + .../task/components/node/fields/index.ts | 1 + .../components/node/fields/use-openmldb.ts | 87 +++++++++ .../task/components/node/format-data.ts | 7 + .../task/components/node/tasks/index.ts | 4 +- .../components/node/tasks/use-openmldb.ts | 85 +++++++++ .../projects/task/components/node/types.ts | 3 + .../projects/task/constants/task-type.ts | 5 + .../workflow/components/dag/dag.module.scss | 6 + pom.xml | 5 + 28 files changed, 883 insertions(+), 15 deletions(-) create mode 100644 docs/docs/en/guide/task/openmldb.md create mode 100644 docs/docs/zh/guide/task/openmldb.md create mode 100644 docs/img/tasks/demo/openmldb-feature-extraction.png create mode 100644 docs/img/tasks/demo/openmldb-load-data.png create mode 100644 docs/img/tasks/icons/openmldb.png create mode 100644 dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/pom.xml create mode 100644 dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbParameters.java create mode 100644 dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTask.java create mode 100644 dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskChannel.java create mode 100644 dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskChannelFactory.java create mode 100644 dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/test/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskTest.java create mode 100644 dolphinscheduler-ui/public/images/task-icons/openmldb.png create mode 100644 dolphinscheduler-ui/public/images/task-icons/openmldb_hover.png create mode 100644 dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-openmldb.ts create mode 100644 dolphinscheduler-ui/src/views/projects/task/components/node/tasks/use-openmldb.ts diff --git a/docs/configs/docsdev.js b/docs/configs/docsdev.js index 0f73e3a0bd..bf72d5f9ed 100644 --- a/docs/configs/docsdev.js +++ b/docs/configs/docsdev.js @@ -161,6 +161,10 @@ export default { title: 'MLflow', link: '/en-us/docs/dev/user_doc/guide/task/mlflow.html', }, + { + title: 'Openmldb', + link: '/en-us/docs/dev/user_doc/guide/task/openmldb.html', + }, ], }, { @@ -525,6 +529,10 @@ export default { title: 'MLflow', link: '/zh-cn/docs/dev/user_doc/guide/task/mlflow.html', }, + { + title: 'Openmldb', + link: '/zh-cn/docs/dev/user_doc/guide/task/openmldb.html', + }, ], }, { diff --git a/docs/docs/en/guide/task/openmldb.md b/docs/docs/en/guide/task/openmldb.md new file mode 100644 index 0000000000..e2e48ea84a --- /dev/null +++ b/docs/docs/en/guide/task/openmldb.md @@ -0,0 +1,76 @@ +# OpenMLDB Node + +## Overview + +[OpenMLDB](https://openmldb.ai/) is an excellent open source machine learning database, providing a full-stack +FeatureOps solution for production. + +OpenMLDB task plugin used to execute tasks on OpenMLDB cluster. + +## Create Task + +- Click `Project -> Management-Project -> Name-Workflow Definition`, and click the "Create Workflow" button to enter the + DAG editing page. +- Drag from the toolbar task node to canvas. + +## Task Example + +First, introduce some general parameters of DolphinScheduler + +- **Node name**: The node name in a workflow definition is unique. +- **Run flag**: Identifies whether this node schedules normally, if it does not need to execute, select + the `prohibition execution`. +- **Descriptive information**: Describe the function of the node. +- **Task priority**: When the number of worker threads is insufficient, execute in the order of priority from high + to low, and tasks with the same priority will execute in a first-in first-out order. +- **Worker grouping**: Assign tasks to the machines of the worker group to execute. If `Default` is selected, + randomly select a worker machine for execution. +- **Environment Name**: Configure the environment name in which run the script. +- **Times of failed retry attempts**: The number of times the task failed to resubmit. +- **Failed retry interval**: The time interval (unit minute) for resubmitting the task after a failed task. +- **Delayed execution time**: The time (unit minute) that a task delays in execution. +- **Timeout alarm**: Check the timeout alarm and timeout failure. When the task runs exceed the "timeout", an alarm + email will send and the task execution will fail. +- **Predecessor task**: Selecting a predecessor task for the current task, will set the selected predecessor task as + upstream of the current task. + +### OpenMLDB Parameters + +**Task Parameter** + +- **zookeeper** :OpenMLDB cluster zookeeper address, e.g. 127.0.0.1:2181. +- **zookeeper path** : OpenMLDB cluster zookeeper path, e.g. /openmldb. +- **Execute Mode** :determine the init mode, offline or online. You can switch it in sql statement. +- **SQL statement** :SQL statement. +- Custom parameters: It is the user-defined parameters of Python, which will replace the content with \${variable} in the script. + +Here are some examples: + +#### Load data + +![load data](/img/tasks/demo/openmldb-load-data.png) + +We use `LOAD DATA` to load data into OpenMLDB cluster. We select `offline` here, so it will load to offline storage. + +#### Feature extraction + +![fe](/img/tasks/demo/openmldb-feature-extraction.png) + +We use `SELECT INTO` to do feature extraction. We select `offline` here, so it will run sql on offline engine. + +## Environment to prepare + +### Start the OpenMLDB cluster + +You should create an OpenMLDB cluster first. If in production env, please check [deploy OpenMLDB](https://openmldb.ai/docs/en/v0.5/deploy/install_deploy.html). + +You can follow [run OpenMLDB in docker](https://openmldb.ai/docs/zh/v0.5/quickstart/openmldb_quickstart.html#id11) +to a quick start. + +### Python env + +The OpenMLDB task will use OpenMLDB Python SDK to connect OpenMLDB cluster. So you should have the Python env. + +We will use `python3` by default. You can set `PYTHON_HOME` to use your custom python env. + +Make sure you have installed OpenMLDB Python SDK in the host where the worker server running, using `pip install openmldb`. diff --git a/docs/docs/zh/guide/task/openmldb.md b/docs/docs/zh/guide/task/openmldb.md new file mode 100644 index 0000000000..f889b978f2 --- /dev/null +++ b/docs/docs/zh/guide/task/openmldb.md @@ -0,0 +1,68 @@ +# OpenMLDB 节点 + +## 综述 + +[OpenMLDB](https://openmldb.ai/) 是一个优秀的开源机器学习数据库,提供生产级数据及特征开发全栈解决方案。 + +OpenMLDB任务组件可以连接OpenMLDB集群执行任务。 + +## 创建任务 + +- 点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面; +- 拖动工具栏的 任务节点到画板中。 + +## 任务样例 + +首先介绍一些DS通用参数: + +- **节点名称** :设置任务的名称。一个工作流定义中的节点名称是唯一的。 +- **运行标志** :标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。 +- **描述** :描述该节点的功能。 +- **任务优先级** :worker 线程数不足时,根据优先级从高到低依次执行,优先级一样时根据先进先出原则执行。 +- **Worker 分组** :任务分配给 worker 组的机器执行,选择 Default,会随机选择一台 worker 机执行。 +- **环境名称** :配置运行脚本的环境。 +- **失败重试次数** :任务失败重新提交的次数。 +- **失败重试间隔** :任务失败重新提交任务的时间间隔,以分钟为单位。 +- **延迟执行时间** :任务延迟执行的时间,以分钟为单位。 +- **超时告警** :勾选超时告警、超时失败,当任务超过"超时时长"后,会发送告警邮件并且任务执行失败。 +- **前置任务** :选择当前任务的前置任务,会将被选择的前置任务设置为当前任务的上游。 + +### OpenMLDB 参数 + +**任务参数** + +- **zookeeper地址** :OpenMLDB集群连接地址中的zookeeper地址, e.g. 127.0.0.1:2181。 +- **zookeeper路径** : OpenMLDB集群连接地址中的zookeeper路径, e.g. /openmldb。 +- **执行模式** :初始执行模式(离线/在线),你可以在sql语句中随时切换。 +- **SQL语句** :SQL语句。 +- 自定义参数:是PYTHON局部的用户自定义参数,会替换脚本中以${变量}的内容。 + +下面有几个例子: + +#### 导入数据 + +![load data](/img/tasks/demo/openmldb-load-data.png) + +我们使用`LOAD DATA`语句导入数据到OpenMLDB集群。因为选择的是离线执行模式,所以将会导入数据到离线存储中。 + +#### 特征抽取 + +![fe](/img/tasks/demo/openmldb-feature-extraction.png) + +我们使用`SELECT INTO`进行特征抽取。因为选择的是离线执行模式,所以会使用离线引擎做特征计算。 + +## 环境准备 + +### OpenMLDB 启动 + +执行任务之前,你需要启动OpenMLDB集群。如果是在生产环境,请参考[deploy OpenMLDB](https://openmldb.ai/docs/zh/v0.5/deploy/install_deploy.html). + +你可以参考[在docker中运行OpenMLDB集群](https://openmldb.ai/docs/zh/v0.5/quickstart/openmldb_quickstart.html#id11) 快速启动。 + +### Python 环境 + +OpenMLDB任务组件将使用OpenMLDB Python SDK来连接OpenMLDB。所以你需要Python环境。 + +我们默认使用`python3`,你可以通过配置`PYTHON_HOME`来设置自己的Python环境。 + +请确保已通过`pip install openmldb`,在worker server的主机中安装了OpenMLDB Python SDK。 diff --git a/docs/img/tasks/demo/openmldb-feature-extraction.png b/docs/img/tasks/demo/openmldb-feature-extraction.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5fb195ac5799fea7d1197330307b1c8b7635e4 GIT binary patch literal 153223 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

_U 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 b*IS_!eO;C%y6)g7z@OwhIkBR*2A}>9x`Hms literal 0 HcmV?d00001 diff --git a/docs/img/tasks/demo/openmldb-load-data.png b/docs/img/tasks/demo/openmldb-load-data.png new file mode 100644 index 0000000000000000000000000000000000000000..559c68a86ef6ba8fc98698667d795738600564ee GIT binary patch literal 91248 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 W4SS~8H>rlCL)p3Sw!icF`9A>vw^17a literal 0 HcmV?d00001 diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-all/pom.xml b/dolphinscheduler-task-plugin/dolphinscheduler-task-all/pom.xml index 5ecec9263e..2422a4628e 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-all/pom.xml +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-all/pom.xml @@ -165,6 +165,12 @@ dolphinscheduler-task-mlflow ${project.version} + + + org.apache.dolphinscheduler + dolphinscheduler-task-openmldb + ${project.version} + \ No newline at end of file diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/pom.xml b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/pom.xml new file mode 100644 index 0000000000..065d99386f --- /dev/null +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/pom.xml @@ -0,0 +1,45 @@ + + + + + dolphinscheduler-task-plugin + org.apache.dolphinscheduler + dev-SNAPSHOT + + 4.0.0 + + dolphinscheduler-task-openmldb + jar + + + + org.apache.dolphinscheduler + dolphinscheduler-spi + + + org.apache.dolphinscheduler + dolphinscheduler-task-api + + + org.apache.dolphinscheduler + dolphinscheduler-task-python + + + diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbParameters.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbParameters.java new file mode 100644 index 0000000000..5f8a9b9047 --- /dev/null +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbParameters.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.task.openmldb; + +import org.apache.dolphinscheduler.plugin.task.api.model.ResourceInfo; +import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters; +import org.apache.dolphinscheduler.spi.utils.StringUtils; + +import java.util.List; + +public class OpenmldbParameters extends AbstractParameters { + + private String zk; + private String zkPath; + private String executeMode; + /** + * origin sql script + */ + private String sql; + + /** + * resource list + */ + private List resourceList; + + public String getZk() { + return zk; + } + + public void setZk(String zk) { + this.zk = zk; + } + + public String getZkPath() { + return zkPath; + } + + public void setZkPath(String zkPath) { + this.zkPath = zkPath; + } + + public String getExecuteMode() { + return executeMode; + } + + public void setExecuteMode(String executeMode) { + this.executeMode = executeMode; + } + + public String getSql() { + return sql; + } + + public void setSql(String sql) { + this.sql = sql; + } + + public List getResourceList() { + return resourceList; + } + + public void setResourceList(List resourceList) { + this.resourceList = resourceList; + } + + @Override + public boolean checkParameters() { + return StringUtils.isNotEmpty(zk) && StringUtils.isNotEmpty(zkPath) && StringUtils.isNotEmpty(sql); + } + + @Override + public List getResourceFilesList() { + return this.resourceList; + } +} diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTask.java new file mode 100644 index 0000000000..a93c191f0c --- /dev/null +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTask.java @@ -0,0 +1,176 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.task.openmldb; + +import org.apache.dolphinscheduler.plugin.task.api.TaskException; +import org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext; +import org.apache.dolphinscheduler.plugin.task.api.model.Property; +import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters; +import org.apache.dolphinscheduler.plugin.task.api.parser.ParamUtils; +import org.apache.dolphinscheduler.plugin.task.api.parser.ParameterUtils; +import org.apache.dolphinscheduler.plugin.task.python.PythonTask; +import org.apache.dolphinscheduler.spi.utils.JSONUtils; +import org.apache.dolphinscheduler.spi.utils.StringUtils; + +import java.nio.file.Paths; +import java.util.Locale; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import com.google.common.base.Preconditions; + +/** + * openmldb task + */ +public class OpenmldbTask extends PythonTask { + + /** + * openmldb parameters + */ + private OpenmldbParameters openmldbParameters; + + /** + * python process(openmldb only supports version 3 by default) + */ + private static final String OPENMLDB_PYTHON = "python3"; + private static final Pattern PYTHON_PATH_PATTERN = Pattern.compile("/bin/python[\\d.]*$"); + + /** + * constructor + * + * @param taskRequest taskRequest + */ + public OpenmldbTask(TaskExecutionContext taskRequest) { + super(taskRequest); + } + + @Override + public void init() { + logger.info("openmldb task params {}", taskRequest.getTaskParams()); + + openmldbParameters = JSONUtils.parseObject(taskRequest.getTaskParams(), OpenmldbParameters.class); + + if (openmldbParameters == null || !openmldbParameters.checkParameters()) { + throw new TaskException("openmldb task params is not valid"); + } + } + + @Override + @Deprecated + public String getPreScript() { + return ""; + } + + @Override + public AbstractParameters getParameters() { + return openmldbParameters; + } + + /** + * build python command file path + * + * @return python command file path + */ + @Override + protected String buildPythonCommandFilePath() { + return String.format("%s/openmldb_%s.py", taskRequest.getExecutePath(), taskRequest.getTaskAppId()); + } + + /** + * build python script content from sql + * + * @return raw python script + */ + @Override + protected String buildPythonScriptContent() { + logger.info("raw sql script : {}", openmldbParameters.getSql()); + + String rawSQLScript = openmldbParameters.getSql().replaceAll("[\\r]?\\n", "\n"); + Map paramsMap = mergeParamsWithContext(openmldbParameters); + rawSQLScript = ParameterUtils.convertParameterPlaceholders(rawSQLScript, ParamUtils.convert(paramsMap)); + + // convert sql to python script + String pythonScript = buildPythonScriptsFromSql(rawSQLScript); + logger.info("rendered python script : {}", pythonScript); + return pythonScript; + } + + private String buildPythonScriptsFromSql(String rawSqlScript) { + // imports + StringBuilder builder = new StringBuilder("import openmldb\nimport sqlalchemy as db\n"); + + // connect to openmldb + builder.append(String.format("engine = db.create_engine('openmldb:///?zk=%s&zkPath=%s')\n", + openmldbParameters.getZk(), openmldbParameters.getZkPath())); + builder.append("con = engine.connect()\n"); + + // execute mode + String executeMode = openmldbParameters.getExecuteMode().toLowerCase(Locale.ROOT); + builder.append("con.execute(\"set @@execute_mode='").append(executeMode).append("';\")\n"); + // offline job should be sync, and set job_timeout to 30min(==server.channel_keep_alive_time). + // You can set it longer in sqls. + if (executeMode.equals("offline")) { + builder.append("con.execute(\"set @@sync_job=true\")\n"); + builder.append("con.execute(\"set @@job_timeout=1800000\")\n"); + } + + // split sql to list + // skip the sql only has space characters + Pattern pattern = Pattern.compile("\\S"); + for (String sql : rawSqlScript.split(";")) { + if (pattern.matcher(sql).find()) { + sql = sql.replaceAll("\\n", "\\\\n"); + builder.append("con.execute(\"").append(sql).append("\")\n"); + } + } + return builder.toString(); + } + + /** + * Build the python task command. + * If user have set the 'PYTHON_HOME' environment, we will use the 'PYTHON_HOME', + * if not, we will default use python. + * + * @param pythonFile Python file, cannot be empty. + * @return Python execute command, e.g. 'python test.py'. + */ + @Override + protected String buildPythonExecuteCommand(String pythonFile) { + Preconditions.checkNotNull(pythonFile, "Python file cannot be null"); + return getPythonCommand() + " " + pythonFile; + } + + private String getPythonCommand() { + String pythonHome = System.getenv(PYTHON_HOME); + return getPythonCommand(pythonHome); + } + + private String getPythonCommand(String pythonHome) { + if (StringUtils.isEmpty(pythonHome)) { + return OPENMLDB_PYTHON; + } + // If your python home is "xx/bin/python[xx]", you are forced to use python3 + String pythonBinPath = "/bin/" + OPENMLDB_PYTHON; + Matcher matcher = PYTHON_PATH_PATTERN.matcher(pythonHome); + if (matcher.find()) { + return matcher.replaceAll(pythonBinPath); + } + return Paths.get(pythonHome, pythonBinPath).toString(); + } +} diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskChannel.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskChannel.java new file mode 100644 index 0000000000..27a1e349d3 --- /dev/null +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskChannel.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.task.openmldb; + +import org.apache.dolphinscheduler.plugin.task.api.TaskChannel; +import org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext; +import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters; +import org.apache.dolphinscheduler.plugin.task.api.parameters.ParametersNode; +import org.apache.dolphinscheduler.plugin.task.api.parameters.resource.ResourceParametersHelper; +import org.apache.dolphinscheduler.spi.utils.JSONUtils; + +public class OpenmldbTaskChannel implements TaskChannel { + @Override + public void cancelApplication(boolean status) { + + } + + @Override + public OpenmldbTask createTask(TaskExecutionContext taskRequest) { + return new OpenmldbTask(taskRequest); + } + + @Override + public AbstractParameters parseParameters(ParametersNode parametersNode) { + return JSONUtils.parseObject(parametersNode.getTaskParams(), OpenmldbParameters.class); + } + + @Override + public ResourceParametersHelper getResources(String parameters) { + return null; + } +} diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskChannelFactory.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskChannelFactory.java new file mode 100644 index 0000000000..b4698c9461 --- /dev/null +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/main/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskChannelFactory.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.task.openmldb; + +import org.apache.dolphinscheduler.plugin.task.api.TaskChannel; +import org.apache.dolphinscheduler.plugin.task.api.TaskChannelFactory; +import org.apache.dolphinscheduler.spi.params.base.PluginParams; + +import java.util.List; + +import com.google.auto.service.AutoService; + +@AutoService(TaskChannelFactory.class) +public class OpenmldbTaskChannelFactory implements TaskChannelFactory { + @Override + public TaskChannel create() { + return new OpenmldbTaskChannel(); + } + + @Override + public String getName() { + return "OPENMLDB"; + } + + @Override + public List getParams() { + return null; + } +} diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/test/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskTest.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/test/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskTest.java new file mode 100644 index 0000000000..c5ed143a5c --- /dev/null +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-openmldb/src/test/java/org/apache/dolphinscheduler/plugin/task/openmldb/OpenmldbTaskTest.java @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.task.openmldb; + +import org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext; +import org.apache.dolphinscheduler.plugin.task.api.model.Property; +import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.Assert; +import org.junit.Test; +import org.powermock.reflect.Whitebox; + +public class OpenmldbTaskTest { + static class MockOpenmldbTask extends OpenmldbTask { + /** + * constructor + * + * @param taskRequest taskRequest + */ + public MockOpenmldbTask(TaskExecutionContext taskRequest) { + super(taskRequest); + } + + @Override + protected Map mergeParamsWithContext(AbstractParameters parameters) { + return new HashMap<>(); + } + } + + private OpenmldbTask createOpenmldbTask() { + return new MockOpenmldbTask(null); + } + + @Test + public void buildPythonExecuteCommand() throws Exception { + OpenmldbTask openmldbTask = createOpenmldbTask(); + String pythonFile = "test.py"; + String result1 = openmldbTask.buildPythonExecuteCommand(pythonFile); + Assert.assertEquals("python3 test.py", result1); + } + + @Test + public void buildSQLWithComment() throws Exception { + OpenmldbTask openmldbTask = createOpenmldbTask(); + OpenmldbParameters openmldbParameters = new OpenmldbParameters(); + openmldbParameters.setExecuteMode("offline"); + String rawSQLScript = "select * from users\r\n" + + "-- some comment\n" + + "inner join order on users.order_id = order.id; \n\n;" + + "select * from users;"; + openmldbParameters.setSql(rawSQLScript); + Whitebox.setInternalState(openmldbTask, "openmldbParameters", openmldbParameters); + OpenmldbParameters internal = (OpenmldbParameters) openmldbTask.getParameters(); + Assert.assertNotNull(internal); + Assert.assertEquals(internal.getExecuteMode(), "offline"); + + String result1 = openmldbTask.buildPythonScriptContent(); + Assert.assertEquals("import openmldb\n" + + "import sqlalchemy as db\n" + + "engine = db.create_engine('openmldb:///?zk=null&zkPath=null')\n" + + "con = engine.connect()\n" + + "con.execute(\"set @@execute_mode='offline';\")\n" + + "con.execute(\"set @@sync_job=true\")\n" + + "con.execute(\"set @@job_timeout=1800000\")\n" + + "con.execute(\"select * from users\\n-- some comment\\ninner join order on users.order_id = " + + "order.id\")\n" + + "con.execute(\"select * from users\")\n" + , result1); + } + +} \ No newline at end of file diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-python/src/main/java/org/apache/dolphinscheduler/plugin/task/python/PythonTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-python/src/main/java/org/apache/dolphinscheduler/plugin/task/python/PythonTask.java index c153847b18..87fba6fe81 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-python/src/main/java/org/apache/dolphinscheduler/plugin/task/python/PythonTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-python/src/main/java/org/apache/dolphinscheduler/plugin/task/python/PythonTask.java @@ -51,16 +51,16 @@ public class PythonTask extends AbstractTaskExecutor { /** * python parameters */ - private PythonParameters pythonParameters; + protected PythonParameters pythonParameters; /** * shell command executor */ private ShellCommandExecutor shellCommandExecutor; - private TaskExecutionContext taskRequest; + protected TaskExecutionContext taskRequest; - private static final String PYTHON_HOME = "PYTHON_HOME"; + protected static final String PYTHON_HOME = "PYTHON_HOME"; private static final String DEFAULT_PYTHON_VERSION = "python"; @@ -109,7 +109,7 @@ public class PythonTask extends AbstractTaskExecutor { String pythonScriptFile = buildPythonCommandFilePath(); // create this file - createPythonCommandFileIfNotExists(pythonScriptContent,pythonScriptFile); + createPythonCommandFileIfNotExists(pythonScriptContent, pythonScriptFile); String command = buildPythonExecuteCommand(pythonScriptFile); TaskResponse taskResponse = shellCommandExecutor.run(command); @@ -140,7 +140,7 @@ public class PythonTask extends AbstractTaskExecutor { * * @param rawScript rawScript * @return String - * @throws StringIndexOutOfBoundsException StringIndexOutOfBoundsException + * @throws StringIndexOutOfBoundsException if substring index is out of bounds */ private static String convertPythonScriptPlaceholders(String rawScript) throws StringIndexOutOfBoundsException { int len = "${setShareVar(${".length(); @@ -170,7 +170,7 @@ public class PythonTask extends AbstractTaskExecutor { /** * create python command file if not exists * - * @param pythonScript exec python script + * @param pythonScript exec python script * @param pythonScriptFile python script file * @throws IOException io exception */ @@ -209,22 +209,23 @@ public class PythonTask extends AbstractTaskExecutor { * @return raw python script * @throws Exception exception */ - private String buildPythonScriptContent() throws Exception { + protected String buildPythonScriptContent() throws Exception { + logger.info("raw python script : {}", pythonParameters.getRawScript()); String rawPythonScript = pythonParameters.getRawScript().replaceAll("\\r\\n", "\n"); + Map paramsMap = mergeParamsWithContext(pythonParameters); + return ParameterUtils.convertParameterPlaceholders(rawPythonScript, ParamUtils.convert(paramsMap)); + } + protected Map mergeParamsWithContext(AbstractParameters parameters) { // replace placeholder - Map paramsMap = ParamUtils.convert(taskRequest, pythonParameters); + Map paramsMap = ParamUtils.convert(taskRequest, parameters); if (MapUtils.isEmpty(paramsMap)) { paramsMap = new HashMap<>(); } if (MapUtils.isNotEmpty(taskRequest.getParamsMap())) { paramsMap.putAll(taskRequest.getParamsMap()); } - rawPythonScript = ParameterUtils.convertParameterPlaceholders(rawPythonScript, ParamUtils.convert(paramsMap)); - - logger.info("raw python script : {}", pythonParameters.getRawScript()); - - return rawPythonScript; + return paramsMap; } /** @@ -235,7 +236,7 @@ public class PythonTask extends AbstractTaskExecutor { * @param pythonFile Python file, cannot be empty. * @return Python execute command, e.g. 'python test.py'. */ - private String buildPythonExecuteCommand(String pythonFile) { + protected String buildPythonExecuteCommand(String pythonFile) { Preconditions.checkNotNull(pythonFile, "Python file cannot be null"); String pythonHome = String.format("${%s}", PYTHON_HOME); diff --git a/dolphinscheduler-task-plugin/pom.xml b/dolphinscheduler-task-plugin/pom.xml index b7f3c097cb..43f0209e0f 100644 --- a/dolphinscheduler-task-plugin/pom.xml +++ b/dolphinscheduler-task-plugin/pom.xml @@ -54,5 +54,6 @@ dolphinscheduler-task-zeppelin dolphinscheduler-task-jupyter dolphinscheduler-task-mlflow + dolphinscheduler-task-openmldb diff --git a/dolphinscheduler-ui/public/images/task-icons/openmldb.png b/dolphinscheduler-ui/public/images/task-icons/openmldb.png new file mode 100644 index 0000000000000000000000000000000000000000..a06cbfe8555f661dd2fc49aec8008ebc41e26edc GIT binary patch literal 90057 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 W4SS~8H>rlCL)p3Sw!icF`9A>vw^17a literal 0 HcmV?d00001 diff --git a/dolphinscheduler-ui/public/images/task-icons/openmldb_hover.png b/dolphinscheduler-ui/public/images/task-icons/openmldb_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..c42c33261185dfef9fe0c73ae1505da8c38841d8 GIT binary patch literal 10323 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 literal 0 HcmV?d00001 diff --git a/dolphinscheduler-ui/src/locales/en_US/project.ts b/dolphinscheduler-ui/src/locales/en_US/project.ts index 8f37959248..381de4232c 100644 --- a/dolphinscheduler-ui/src/locales/en_US/project.ts +++ b/dolphinscheduler-ui/src/locales/en_US/project.ts @@ -659,6 +659,14 @@ export default { mlflowProjectRepository_tips: 'github respository or path on worker', mlflowProjectVersion: 'Project Version', mlflowProjectVersion_tips: 'git version', + openmldb_zk_address: 'zookeeper address', + openmldb_zk_address_tips: 'Please enter the zookeeper address', + openmldb_zk_path: 'zookeeper path', + openmldb_zk_path_tips: 'Please enter the zookeeper path', + openmldb_execute_mode: 'Execute Mode', + openmldb_execute_mode_tips: 'Please select the execute mode', + openmldb_execute_mode_offline: 'offline', + openmldb_execute_mode_online: 'online', send_email: 'Send Email', log_display: 'Log display', rows_of_result: 'rows of result', diff --git a/dolphinscheduler-ui/src/locales/zh_CN/project.ts b/dolphinscheduler-ui/src/locales/zh_CN/project.ts index 5e10480c4e..ccc93958a9 100644 --- a/dolphinscheduler-ui/src/locales/zh_CN/project.ts +++ b/dolphinscheduler-ui/src/locales/zh_CN/project.ts @@ -646,6 +646,14 @@ export default { mlflowProjectRepository_tips: '可以为github仓库或worker上的路径', mlflowProjectVersion: '项目版本', mlflowProjectVersion_tips: '项目git版本', + openmldb_zk_address: 'zookeeper地址', + openmldb_zk_address_tips: '请输入zookeeper地址', + openmldb_zk_path: 'zookeeper路径', + openmldb_zk_path_tips: '请输入zookeeper路径', + openmldb_execute_mode: '执行模式', + openmldb_execute_mode_tips: '请选择执行模式', + openmldb_execute_mode_offline: '离线', + openmldb_execute_mode_online: '在线', send_email: '发送邮件', log_display: '日志显示', rows_of_result: '行查询结果', diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/index.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/index.ts index 4bddd81834..bc3a2c61dd 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/index.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/index.ts @@ -68,3 +68,4 @@ export { useJupyter } from './use-jupyter' export { useMlflow } from './use-mlflow' export { useMlflowProjects } from './use-mlflow-projects' export { useMlflowModels } from './use-mlflow-models' +export { useOpenmldb } from './use-openmldb' diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-openmldb.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-openmldb.ts new file mode 100644 index 0000000000..9f5a38db6f --- /dev/null +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-openmldb.ts @@ -0,0 +1,87 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { useI18n } from 'vue-i18n' +import { useCustomParams, useResources } from '.' +import type { IJsonItem } from '../types' + +export function useOpenmldb(model: { [field: string]: any }): IJsonItem[] { + const { t } = useI18n() + const options = [ + { + label: t('project.node.openmldb_execute_mode_offline'), + value: 'offline' + }, + { + label: t('project.node.openmldb_execute_mode_online'), + value: 'online' + } + ] + return [ + { + type: 'input', + field: 'zk', + name: t('project.node.openmldb_zk_address'), + props: { + placeholder: t('project.node.openmldb_zk_address_tips') + }, + validate: { + trigger: ['input', 'blur'], + required: true, + validator(validate: any, value: string) { + if (!value) { + return new Error(t('project.node.openmldb_zk_address_tips')) + } + } + } + }, + { + type: 'input', + field: 'zkPath', + name: t('project.node.openmldb_zk_path'), + props: { + placeholder: t('project.node.openmldb_zk_path_tips') + }, + validate: { + trigger: ['input', 'blur'], + required: true, + validator(validate: any, value: string) { + if (!value) { + return new Error(t('project.node.openmldb_zk_path_tips')) + } + } + } + }, + { + type: 'radio', + field: 'executeMode', + name: t('project.node.openmldb_execute_mode'), + options: options + }, + { + type: 'editor', + field: 'sql', + name: t('project.node.sql_statement'), + validate: { + trigger: ['input', 'trigger'], + required: true, + message: t('project.node.sql_empty_tips') + } + }, + useResources(), + ...useCustomParams({ model, field: 'localParams', isSimple: false }) + ] +} diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/format-data.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/format-data.ts index d993aaa234..2ea47c72cb 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/format-data.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/format-data.ts @@ -356,6 +356,13 @@ export function formatParams(data: INodeData): { taskParams.mlflowProjectVersion = data.mlflowProjectVersion } + if (data.taskType === 'OPENMLDB') { + taskParams.zk = data.zk + taskParams.zkPath = data.zkPath + taskParams.executeMode = data.executeMode + taskParams.sql = data.sql + } + if (data.taskType === 'PIGEON') { taskParams.targetJobName = data.targetJobName } diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/index.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/index.ts index 726a796cd5..a151b70d70 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/index.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/index.ts @@ -37,6 +37,7 @@ import { useZeppelin } from './use-zeppelin' import { useK8s } from './use-k8s' import { useJupyter } from './use-jupyter' import { useMlflow } from './use-mlflow' +import { useOpenmldb } from './use-openmldb' export default { SHELL: useShell, @@ -60,5 +61,6 @@ export default { ZEPPELIN: useZeppelin, K8S: useK8s, JUPYTER: useJupyter, - MLFLOW: useMlflow + MLFLOW: useMlflow, + OPENMLDB: useOpenmldb } diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/use-openmldb.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/use-openmldb.ts new file mode 100644 index 0000000000..9f8d560de9 --- /dev/null +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/use-openmldb.ts @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { reactive } from 'vue' +import * as Fields from '../fields/index' +import type { IJsonItem, INodeData } from '../types' +import { ITaskData } from '../types' + +export function useOpenmldb({ + projectCode, + from = 0, + readonly, + data +}: { + projectCode: number + from?: number + readonly?: boolean + data?: ITaskData +}) { + const model = reactive({ + name: '', + taskType: 'OPENMLDB', + flag: 'YES', + description: '', + timeoutFlag: false, + timeoutNotifyStrategy: ['WARN'], + localParams: [], + environmentCode: null, + failRetryInterval: 1, + failRetryTimes: 0, + workerGroup: 'default', + delayTime: 0, + timeout: 30, + zk: '', + zkPath: '', + executeMode: 'offline' + } as INodeData) + + let extra: IJsonItem[] = [] + if (from === 1) { + extra = [ + Fields.useTaskType(model, readonly), + Fields.useProcessName({ + model, + projectCode, + isCreate: !data?.id, + from, + processName: data?.processName + }) + ] + } + + return { + json: [ + Fields.useName(from), + ...extra, + Fields.useRunFlag(), + Fields.useDescription(), + Fields.useTaskPriority(), + Fields.useWorkerGroup(), + Fields.useEnvironmentName(model, !model.id), + ...Fields.useTaskGroup(model, projectCode), + ...Fields.useFailed(), + Fields.useDelayTime(model), + ...Fields.useTimeoutAlarm(model), + ...Fields.useOpenmldb(model), + Fields.usePreTasks() + ] as IJsonItem[], + model + } +} diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts index 78f48c6b24..f44e65c95f 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts @@ -336,6 +336,9 @@ interface ITaskParams { deployType?: string deployPort?: string deployModelKey?: string + zk?: string + zkPath?: string + executeMode?: string } interface INodeData diff --git a/dolphinscheduler-ui/src/views/projects/task/constants/task-type.ts b/dolphinscheduler-ui/src/views/projects/task/constants/task-type.ts index e291d184e6..26cd32f544 100644 --- a/dolphinscheduler-ui/src/views/projects/task/constants/task-type.ts +++ b/dolphinscheduler-ui/src/views/projects/task/constants/task-type.ts @@ -37,6 +37,7 @@ export type TaskType = | 'K8S' | 'JUPYTER' | 'MLFLOW' + | 'OPENMLDB' export const TASK_TYPES_MAP = { SHELL: { @@ -113,5 +114,9 @@ export const TASK_TYPES_MAP = { MLFLOW: { alias: 'MLFLOW', helperLinkDisable: true + }, + OPENMLDB: { + alias: 'OPENMLDB', + helperLinkDisable: true } } as { [key in TaskType]: { alias: string; helperLinkDisable?: boolean } } diff --git a/dolphinscheduler-ui/src/views/projects/workflow/components/dag/dag.module.scss b/dolphinscheduler-ui/src/views/projects/workflow/components/dag/dag.module.scss index 725ae513a0..bbe539d813 100644 --- a/dolphinscheduler-ui/src/views/projects/workflow/components/dag/dag.module.scss +++ b/dolphinscheduler-ui/src/views/projects/workflow/components/dag/dag.module.scss @@ -167,6 +167,9 @@ $bgLight: #ffffff; &.icon-mlflow { background-image: url('/images/task-icons/mlflow.png'); } + &.icon-openmldb { + background-image: url('/images/task-icons/openmldb.png'); + } } &:hover { @@ -237,6 +240,9 @@ $bgLight: #ffffff; &.icon-mlflow { background-image: url('/images/task-icons/mlflow.png'); } + &.icon-openmldb { + background-image: url('/images/task-icons/openmldb_hover.png'); + } } } } diff --git a/pom.xml b/pom.xml index 9522d5eb86..7b97d1f028 100644 --- a/pom.xml +++ b/pom.xml @@ -408,6 +408,11 @@ dolphinscheduler-task-api ${project.version} + + org.apache.dolphinscheduler + dolphinscheduler-task-python + ${project.version} + org.apache.dolphinscheduler dolphinscheduler-task-all