From 1baa68f019928b7ee9d445949163d56893e7b13e Mon Sep 17 00:00:00 2001 From: "1425138134@qq.com" Date: Thu, 22 Jan 2026 13:49:14 +0800 Subject: [PATCH 1/6] Change datax channel count to a custom parameter. --- .../plugin/task/datax/DataxParameters.java | 14 +++++++++ .../plugin/task/datax/DataxTask.java | 5 ++-- .../src/locales/en_US/project.ts | 1 + .../src/locales/zh_CN/project.ts | 1 + .../task/components/node/fields/use-datax.ts | 30 +++++++++++++++++++ .../task/components/node/format-data.ts | 1 + .../projects/task/components/node/types.ts | 1 + 7 files changed, 51 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java index 70e774ea8307..f7690c54734d 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java @@ -95,6 +95,12 @@ public class DataxParameters extends AbstractParameters { */ private int jobSpeedRecord; + + /** + * datax channel + */ + private int jobChannel; + /** * Xms memory */ @@ -206,6 +212,14 @@ public void setJobSpeedRecord(int jobSpeedRecord) { this.jobSpeedRecord = jobSpeedRecord; } + public int getJobChannel() { + return jobChannel; + } + + public void setJobChannel(int jobChannel) { + this.jobChannel = jobChannel; + } + public int getXms() { return xms; } 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 fd173eb4ef7c..d9e0bd27fe3f 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 @@ -55,6 +55,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.ExecutionException; import lombok.extern.slf4j.Slf4j; @@ -309,7 +310,7 @@ private ObjectNode buildDataxJobSettingJson() { ObjectNode speed = JSONUtils.createObjectNode(); - speed.put("channel", DATAX_CHANNEL_COUNT); + speed.put("channel", Optional.of(dataXParameters.getJobChannel()).orElse(DATAX_CHANNEL_COUNT)); if (dataXParameters.getJobSpeedByte() > 0) { speed.put("byte", dataXParameters.getJobSpeedByte()); @@ -333,7 +334,7 @@ private ObjectNode buildDataxJobSettingJson() { private ObjectNode buildDataxCoreJson() { ObjectNode speed = JSONUtils.createObjectNode(); - speed.put("channel", DATAX_CHANNEL_COUNT); + speed.put("channel", Optional.of(dataXParameters.getJobChannel()).orElse(DATAX_CHANNEL_COUNT)); if (dataXParameters.getJobSpeedByte() > 0) { speed.put("byte", dataXParameters.getJobSpeedByte()); diff --git a/dolphinscheduler-ui/src/locales/en_US/project.ts b/dolphinscheduler-ui/src/locales/en_US/project.ts index 916893b02a0c..ab30af82cf5e 100644 --- a/dolphinscheduler-ui/src/locales/en_US/project.ts +++ b/dolphinscheduler-ui/src/locales/en_US/project.ts @@ -647,6 +647,7 @@ export default { datax_job_speed_byte_info: '(0 means unlimited)', datax_job_speed_record: 'Speed(Record count)', datax_job_speed_record_info: '(0 means unlimited)', + datax_job_channel: 'datax channel', datax_job_runtime_memory: 'Runtime Memory Limits', datax_job_runtime_memory_xms: 'Low Limit Value', datax_job_runtime_memory_xmx: 'High Limit Value', diff --git a/dolphinscheduler-ui/src/locales/zh_CN/project.ts b/dolphinscheduler-ui/src/locales/zh_CN/project.ts index 46fd12e348fd..4f66d8765996 100644 --- a/dolphinscheduler-ui/src/locales/zh_CN/project.ts +++ b/dolphinscheduler-ui/src/locales/zh_CN/project.ts @@ -629,6 +629,7 @@ export default { datax_job_speed_byte_info: '(KB,0代表不限制)', datax_job_speed_record: '限流(记录数)', datax_job_speed_record_info: '(0代表不限制)', + datax_job_channel: '数据管道数', datax_job_runtime_memory: '运行内存', datax_job_runtime_memory_xms: '最小内存', datax_job_runtime_memory_xmx: '最大内存', 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 b390d8891a12..cc38bca9b4b4 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 @@ -78,6 +78,28 @@ export function useDataX(model: { [field: string]: any }): IJsonItem[] { value: 3000 } ] + const jobChannelOptions: any[] = [ + { + label: '1', + value: 1 + }, + { + label: '3', + value: 3 + }, + { + label: '5', + value: 5 + }, + { + label: '10', + value: 10 + }, + { + label: '15', + value: 15 + } + ] const memoryLimitOptions = [ { label: '1G', @@ -264,6 +286,14 @@ export function useDataX(model: { [field: string]: any }): IJsonItem[] { options: memoryLimitOptions, value: 1 }, + { + type: 'input', + field: 'jobChannel', + name: t('project.node.datax_job_channel'), + span: jobSpeedSpan, + options: jobChannelOptions, + value: 1 + }, ...useCustomParams({ model, field: 'localParams', isSimple: true }) ] } 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 8fc67906775c..58b52d342d9a 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 @@ -274,6 +274,7 @@ export function formatParams(data: INodeData): { taskParams.targetTable = data.targetTable taskParams.jobSpeedByte = data.jobSpeedByte taskParams.jobSpeedRecord = data.jobSpeedRecord + taskParams.jobChannel = data.jobChannel taskParams.preStatements = data.preStatements taskParams.postStatements = data.postStatements } else { 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 76dcde23ee2d..b576ca8f1a73 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts @@ -340,6 +340,7 @@ interface ITaskParams { targetTable?: string jobSpeedByte?: number jobSpeedRecord?: number + jobChannel?: number xms?: number xmx?: number sparkParameters?: ISparkParameters From 8a4db9330c449c17cdd01ee57fea1904094d90bb Mon Sep 17 00:00:00 2001 From: "1425138134@qq.com" Date: Tue, 27 Jan 2026 13:03:08 +0800 Subject: [PATCH 2/6] Change datax channel count to a custom parameter. --- .../plugin/task/datax/DataxParameters.java | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java index f7690c54734d..34bf879a8821 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java @@ -17,7 +17,6 @@ package org.apache.dolphinscheduler.plugin.task.datax; -import org.apache.dolphinscheduler.common.utils.JSONUtils; import org.apache.dolphinscheduler.plugin.task.api.enums.ResourceType; import org.apache.dolphinscheduler.plugin.task.api.model.ResourceInfo; import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters; @@ -95,7 +94,6 @@ public class DataxParameters extends AbstractParameters { */ private int jobSpeedRecord; - /** * datax channel */ @@ -263,23 +261,24 @@ public List getResourceFilesList() { @Override public String toString() { - return "DataxParameters{" - + "customConfig=" + customConfig - + ", json='" + json + '\'' - + ", dsType='" + dsType + '\'' - + ", dataSource=" + dataSource - + ", dtType='" + dtType + '\'' - + ", dataTarget=" + dataTarget - + ", sql='" + sql + '\'' - + ", targetTable='" + targetTable + '\'' - + ", preStatements=" + preStatements - + ", postStatements=" + postStatements - + ", jobSpeedByte=" + jobSpeedByte - + ", jobSpeedRecord=" + jobSpeedRecord - + ", xms=" + xms - + ", xmx=" + xmx - + ", resourceList=" + JSONUtils.toJsonString(resourceList) - + '}'; + return "DataxParameters{" + + "customConfig=" + customConfig + + ", json='" + json + '\'' + + ", dsType='" + dsType + '\'' + + ", dataSource=" + dataSource + + ", dtType='" + dtType + '\'' + + ", dataTarget=" + dataTarget + + ", sql='" + sql + '\'' + + ", targetTable='" + targetTable + '\'' + + ", preStatements=" + preStatements + + ", postStatements=" + postStatements + + ", jobSpeedByte=" + jobSpeedByte + + ", jobSpeedRecord=" + jobSpeedRecord + + ", jobChannel=" + jobChannel + + ", xms=" + xms + + ", xmx=" + xmx + + ", resourceList=" + resourceList + + '}'; } @Override From c33fa737a3295284a56c2f2cb6d7aaba0f8596f2 Mon Sep 17 00:00:00 2001 From: "1425138134@qq.com" Date: Tue, 27 Jan 2026 14:32:34 +0800 Subject: [PATCH 3/6] Change datax channel count to a custom parameter. --- .../projects/components/dependencies/dependencies-modal.tsx | 2 +- .../src/views/projects/task/components/node/format-data.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-ui/src/views/projects/components/dependencies/dependencies-modal.tsx b/dolphinscheduler-ui/src/views/projects/components/dependencies/dependencies-modal.tsx index 207673a2a837..e405f720a346 100644 --- a/dolphinscheduler-ui/src/views/projects/components/dependencies/dependencies-modal.tsx +++ b/dolphinscheduler-ui/src/views/projects/components/dependencies/dependencies-modal.tsx @@ -59,7 +59,7 @@ export default defineComponent({ } const cancelToHandle = () => { - ctx.emit('update:show', showRef) + ctx.emit('update:show', showRef.value) } const renderDownstreamDependencies = () => { 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 58b52d342d9a..974da0b44c15 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 @@ -274,7 +274,7 @@ export function formatParams(data: INodeData): { taskParams.targetTable = data.targetTable taskParams.jobSpeedByte = data.jobSpeedByte taskParams.jobSpeedRecord = data.jobSpeedRecord - taskParams.jobChannel = data.jobChannel + taskParams.jobChannel = data.jobChannel taskParams.preStatements = data.preStatements taskParams.postStatements = data.postStatements } else { From 08c49d56dbe929e65e8ad9519008bedaab697ad9 Mon Sep 17 00:00:00 2001 From: "1425138134@qq.com" Date: Wed, 28 Jan 2026 14:07:49 +0800 Subject: [PATCH 4/6] Change datax channel count to a custom parameter. --- .../projects/components/dependencies/dependencies-modal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dolphinscheduler-ui/src/views/projects/components/dependencies/dependencies-modal.tsx b/dolphinscheduler-ui/src/views/projects/components/dependencies/dependencies-modal.tsx index e405f720a346..207673a2a837 100644 --- a/dolphinscheduler-ui/src/views/projects/components/dependencies/dependencies-modal.tsx +++ b/dolphinscheduler-ui/src/views/projects/components/dependencies/dependencies-modal.tsx @@ -59,7 +59,7 @@ export default defineComponent({ } const cancelToHandle = () => { - ctx.emit('update:show', showRef.value) + ctx.emit('update:show', showRef) } const renderDownstreamDependencies = () => { From bfdd4b15558314c7ff02f2cb1ce6431de168c4bc Mon Sep 17 00:00:00 2001 From: "1425138134@qq.com" Date: Mon, 2 Mar 2026 10:21:03 +0800 Subject: [PATCH 5/6] Change datax channel count to a custom parameter. --- .../dolphinscheduler/plugin/task/datax/DataxParametersTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/test/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParametersTest.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/test/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParametersTest.java index 821668ae8f98..a20b5a169514 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/test/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParametersTest.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/test/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParametersTest.java @@ -70,6 +70,7 @@ public void testToString() { dataxParameters.setDtType("MYSQL"); dataxParameters.setJobSpeedByte(1); dataxParameters.setJobSpeedRecord(1); + dataxParameters.setJobChannel(1); dataxParameters.setJson("json"); dataxParameters.setResourceList(resourceInfoList); @@ -87,6 +88,7 @@ public void testToString() { + "postStatements=null, " + "jobSpeedByte=1, " + "jobSpeedRecord=1, " + + "jobChannel=1, " + "xms=0, " + "xmx=-100, " + "resourceList=[{\"id\":null,\"resourceName\":\"/hdfs.keytab\",\"res\":null}]" From 5d08c55b80461dc8903eb6a13a1d8ad2137bbe63 Mon Sep 17 00:00:00 2001 From: "1425138134@qq.com" Date: Mon, 2 Mar 2026 11:23:45 +0800 Subject: [PATCH 6/6] Change datax channel count to a custom parameter. --- .../dolphinscheduler/plugin/task/datax/DataxParameters.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java index 34bf879a8821..0609bb4bcde3 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxParameters.java @@ -17,6 +17,7 @@ package org.apache.dolphinscheduler.plugin.task.datax; +import org.apache.dolphinscheduler.common.utils.JSONUtils; import org.apache.dolphinscheduler.plugin.task.api.enums.ResourceType; import org.apache.dolphinscheduler.plugin.task.api.model.ResourceInfo; import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters; @@ -277,7 +278,7 @@ public String toString() { ", jobChannel=" + jobChannel + ", xms=" + xms + ", xmx=" + xmx + - ", resourceList=" + resourceList + + ", resourceList=" + JSONUtils.toJsonString(resourceList) + '}'; }