Skip to content

Commit 4322b34

Browse files
authored
feat: support complex spark conf for taskmanager (#2170)
* Support complex spark conf for taskmanager * Add spark file coding config in release taskmanager conf
1 parent 0769892 commit 4322b34

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

java/openmldb-taskmanager/src/main/java/com/_4paradigm/openmldb/taskmanager/config/TaskManagerConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,11 @@ public static void parse() throws IOException, NumberFormatException, ConfigExce
180180

181181
SPARK_DEFAULT_CONF = prop.getProperty("spark.default.conf", "");
182182
if (!SPARK_DEFAULT_CONF.isEmpty()) {
183-
String[] defaultSparkConfs = TaskManagerConfig.SPARK_DEFAULT_CONF.split(",");
183+
String[] defaultSparkConfs = TaskManagerConfig.SPARK_DEFAULT_CONF.split(";");
184184
for (String sparkConfMap: defaultSparkConfs) {
185185
if (!sparkConfMap.isEmpty()) {
186186
String[] kv = sparkConfMap.split("=");
187-
if (kv.length != 2) {
187+
if (kv.length < 2) {
188188
throw new ConfigException("spark.default.conf", String.format("error format of %s", sparkConfMap));
189189
} else if (!kv[0].startsWith("spark")) {
190190
throw new ConfigException("spark.default.conf", String.format("config key should start with 'spark' but get %s", kv[0]));

java/openmldb-taskmanager/src/main/scala/com/_4paradigm/openmldb/taskmanager/spark/SparkJobManager.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,14 @@ object SparkJobManager {
9494
launcher.setConf("spark.yarn.maxAppAttempts", TaskManagerConfig.SPARK_YARN_MAXAPPATTEMPTS.toString)
9595
}
9696

97-
// TODO: Support escape delimiter
9897
// Set default Spark conf by TaskManager configuration file
99-
val defaultSparkConfs = TaskManagerConfig.SPARK_DEFAULT_CONF.split(",")
98+
val defaultSparkConfs = TaskManagerConfig.SPARK_DEFAULT_CONF.split(";")
10099
defaultSparkConfs.map(sparkConf => {
101100
if (sparkConf.nonEmpty) {
102101
val kvList = sparkConf.split("=")
103-
launcher.setConf(kvList(0), kvList(1))
102+
val key = kvList(0)
103+
val value = kvList.drop(1).mkString("=")
104+
launcher.setConf(key, value)
104105
}
105106
})
106107

release/conf/taskmanager.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ zookeeper.root_path=/openmldb
1010
# Spark Config
1111
spark.home=
1212
spark.master=local
13-
offline.data.prefix=file:///tmp/openmldb_offline_storage/
13+
offline.data.prefix=file:///tmp/openmldb_offline_storage/
14+
spark.default.conf=spark.driver.extraJavaOptions=-Dfile.encoding=utf-8;spark.executor.extraJavaOptions=-Dfile.encoding=utf-8

0 commit comments

Comments
 (0)