Skip to content

Commit 427c585

Browse files
huangchenguang123huaangcg
andauthored
[fix][plugin]: fix spark sql use custom parma. (#10821)
* [fix][plugin]: fix spark sql use custom parma. * [fix][plugin] roll back part of the code Co-authored-by: huaangcg <huangcg@getui.com>
1 parent 2397423 commit 427c585

3 files changed

Lines changed: 12 additions & 4 deletions

File tree

  • dolphinscheduler-task-plugin
    • dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parameters
    • dolphinscheduler-task-spark/src/main/java/org/apache/dolphinscheduler/plugin/task/spark
  • dolphinscheduler-ui/src/views/projects/task/components/node/fields

dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parameters/AbstractParameters.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import java.util.LinkedHashMap;
3131
import java.util.List;
3232
import java.util.Map;
33+
import java.util.Objects;
3334

3435
import com.fasterxml.jackson.databind.JsonNode;
3536
import com.fasterxml.jackson.databind.node.ArrayNode;
@@ -90,9 +91,8 @@ public Map<String, Property> getLocalParametersMap() {
9091
public Map<String, Property> getInputLocalParametersMap() {
9192
Map<String, Property> localParametersMaps = new LinkedHashMap<>();
9293
if (localParams != null) {
93-
9494
for (Property property : localParams) {
95-
if (property.getDirect().equals(Direct.IN)) {
95+
if (Objects.equals(Direct.IN, property.getDirect())) {
9696
localParametersMaps.put(property.getProp(), property);
9797
}
9898
}

dolphinscheduler-task-plugin/dolphinscheduler-task-spark/src/main/java/org/apache/dolphinscheduler/plugin/task/spark/SparkTask.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ private String generateScriptFile() {
229229
Path path = file.toPath();
230230

231231
if (!Files.exists(path)) {
232-
String script = sparkParameters.getRawScript().replaceAll("\\r\\n", "\n");
232+
String script = replaceParam(sparkParameters.getRawScript());
233233
sparkParameters.setRawScript(script);
234234

235235
logger.info("raw script : {}", sparkParameters.getRawScript());
@@ -255,6 +255,14 @@ private String generateScriptFile() {
255255
return scriptFileName;
256256
}
257257

258+
private String replaceParam(String script) {
259+
script = script.replaceAll("\\r\\n", "\n");
260+
// replace placeholder, and combining local and global parameters
261+
Map<String, Property> paramsMap = taskExecutionContext.getPrepareParamsMap();
262+
script = ParameterUtils.convertParameterPlaceholders(script, ParamUtils.convert(paramsMap));
263+
return script;
264+
}
265+
258266
@Override
259267
protected void setMainJarName() {
260268
// main jar

dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-spark.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ export function useSpark(model: { [field: string]: any }): IJsonItem[] {
130130
}
131131
},
132132
useResources(),
133-
...useCustomParams({ model, field: 'localParams', isSimple: true })
133+
...useCustomParams({ model, field: 'localParams', isSimple: false })
134134
]
135135
}
136136

0 commit comments

Comments
 (0)