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 })
]
}