From d531512155fb58830298147329e1e21b0e74bf15 Mon Sep 17 00:00:00 2001 From: "wuxueyang.wxy" Date: Fri, 14 Mar 2025 10:55:41 +0800 Subject: [PATCH] Add compatibility with doris config. Signed-off-by: wuxueyang.wxy --- .../spark/sql/conf/StarRocksConfig.java | 1 + .../spark/sql/conf/StarRocksConfigBase.java | 20 ++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/starrocks/connector/spark/sql/conf/StarRocksConfig.java b/src/main/java/com/starrocks/connector/spark/sql/conf/StarRocksConfig.java index a17e6497..d9fbe73a 100644 --- a/src/main/java/com/starrocks/connector/spark/sql/conf/StarRocksConfig.java +++ b/src/main/java/com/starrocks/connector/spark/sql/conf/StarRocksConfig.java @@ -27,6 +27,7 @@ public interface StarRocksConfig extends Serializable { String PREFIX = "starrocks."; + String DORIS_PREFIX = "doris."; // to compatible with doris config Map getOriginOptions(); diff --git a/src/main/java/com/starrocks/connector/spark/sql/conf/StarRocksConfigBase.java b/src/main/java/com/starrocks/connector/spark/sql/conf/StarRocksConfigBase.java index db74c565..38ca1916 100644 --- a/src/main/java/com/starrocks/connector/spark/sql/conf/StarRocksConfigBase.java +++ b/src/main/java/com/starrocks/connector/spark/sql/conf/StarRocksConfigBase.java @@ -19,6 +19,7 @@ package com.starrocks.connector.spark.sql.conf; +import com.google.common.collect.ImmutableMap; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,6 +43,8 @@ public abstract class StarRocksConfigBase implements StarRocksConfig { private static final Logger LOG = LoggerFactory.getLogger(StarRocksConfigBase.class); + private static final Map TRANSFORM_OPTIONS = ImmutableMap.of(); + // reuse some configurations in ConfigurationOptions public static final String KEY_FE_HTTP = PREFIX + "fe.http.url"; static final String KEY_FE_JDBC = PREFIX + "fe.jdbc.url"; @@ -79,10 +82,25 @@ public abstract class StarRocksConfigBase implements StarRocksConfig { private ZoneId timeZone; public StarRocksConfigBase(Map options) { - this.originOptions = new HashMap<>(options); + this.originOptions = compatibleWithDoris(options); load(); } + private Map compatibleWithDoris(Map options) { + Map properties = new HashMap<>(); + for (Map.Entry entry : options.entrySet()) { + String key = entry.getKey(); + if (key.startsWith(DORIS_PREFIX)) { + key = key.replace(DORIS_PREFIX, PREFIX); + } + if (TRANSFORM_OPTIONS.containsKey(key)) { + key = TRANSFORM_OPTIONS.get(key); + } + properties.put(key, entry.getValue()); + } + return properties; + } + private void load() { this.feHttpUrls = getArray(KEY_FE_HTTP, new String[0]); this.feJdbcUrl = get(KEY_FE_JDBC);