You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ke...@apache.org on 2022/07/15 01:27:28 UTC

[dolphinscheduler] branch dev updated: [Feature][Datax Task]Datax task plugin support custom parameters (#10950)

This is an automated email from the ASF dual-hosted git repository.

kerwin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 7196b125d9 [Feature][Datax Task]Datax task plugin support custom parameters (#10950)
7196b125d9 is described below

commit 7196b125d9a6612f2f175c2190d7758a09d7e0b9
Author: zhuxt2015 <59...@qq.com>
AuthorDate: Fri Jul 15 09:27:23 2022 +0800

    [Feature][Datax Task]Datax task plugin support custom parameters (#10950)
    
    * datax task plugin support custom parameters
---
 .../dolphinscheduler/plugin/task/datax/DataxTask.java       | 13 +++++++++++++
 .../views/projects/task/components/node/fields/use-datax.ts |  4 +++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java
index 49ec953725..b8801becbd 100644
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java
+++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java
@@ -82,6 +82,8 @@ public class DataxTask extends AbstractTaskExecutor {
      * jvm parameters
      */
     public static final String JVM_PARAM = " --jvm=\"-Xms%sG -Xmx%sG\" ";
+
+    public static final String CUSTOM_PARAM = " -D%s=%s";
     /**
      * python process(datax only supports version 2.7 by default)
      */
@@ -392,6 +394,8 @@ public class DataxTask extends AbstractTaskExecutor {
         sbr.append(DATAX_PATH);
         sbr.append(" ");
         sbr.append(loadJvmEnv(dataXParameters));
+        sbr.append(addCustomParameters(paramsMap));
+        sbr.append(" ");
         sbr.append(jobConfigFilePath);
 
         // replace placeholder
@@ -414,6 +418,15 @@ public class DataxTask extends AbstractTaskExecutor {
         return fileName;
     }
 
+    private StringBuilder addCustomParameters(Map<String, Property> paramsMap) {
+        StringBuilder customParameters = new StringBuilder("-p\"");
+        for (Map.Entry<String, Property> entry : paramsMap.entrySet()) {
+            customParameters.append(String.format(CUSTOM_PARAM, entry.getKey(), entry.getValue().getValue()));
+        }
+        customParameters.append("\"");
+        return customParameters;
+    }
+
     public String getPythonCommand() {
         String pythonHome = System.getenv("PYTHON_HOME");
         return getPythonCommand(pythonHome);
diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datax.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datax.ts
index ef80e05583..866b60f2cc 100644
--- a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datax.ts
+++ b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datax.ts
@@ -20,6 +20,7 @@ import type { IJsonItem } from '../types'
 import { find } from 'lodash'
 import { TypeReq } from '@/service/modules/data-source/types'
 import { queryDataSourceList } from '@/service/modules/data-source'
+import {useCustomParams} from "."
 
 export function useDataX(model: { [field: string]: any }): IJsonItem[] {
   const { t } = useI18n()
@@ -443,6 +444,7 @@ export function useDataX(model: { [field: string]: any }): IJsonItem[] {
       span: 12,
       options: memoryLimitOptions,
       value: 1
-    }
+    },
+    ...useCustomParams({ model, field: 'localParams', isSimple: true })
   ]
 }