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 a17e649..d9fbe73 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 db74c56..38ca191 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);