From 5c75d312fac7f4e8c776737a0b4eec19b0099637 Mon Sep 17 00:00:00 2001 From: Wenjun Ruan Date: Sat, 17 Dec 2022 08:44:39 +0800 Subject: [PATCH] Add StarRocks datasource (#13204) --- docs/docs/en/guide/datasource/starrocks.md | 22 +++ docs/docs/zh/guide/datasource/starrocks.md | 17 ++ docs/img/new_ui/dev/datasource/starrocks.png | Bin 0 -> 345355 bytes .../dolphinscheduler-datasource-all/pom.xml | 5 + .../dolphinscheduler-datasource-api/pom.xml | 1 - .../dolphinscheduler-datasource-spark/pom.xml | 1 + .../pom.xml | 42 ++++ .../starrocks/StarRocksDataSourceChannel.java | 31 +++ .../StarRocksDataSourceChannelFactory.java | 38 ++++ .../starrocks/StarRocksDataSourceClient.java | 30 +++ .../param/StarRocksConnectionParam.java | 37 ++++ .../param/StarRocksDataSourceParamDTO.java | 45 +++++ .../param/StarRocksDataSourceProcessor.java | 181 ++++++++++++++++++ dolphinscheduler-datasource-plugin/pom.xml | 6 +- .../dolphinscheduler/spi/enums/DbType.java | 4 +- .../src/service/modules/data-source/types.ts | 2 + .../src/views/datasource/list/use-form.ts | 5 + .../components/node/fields/use-datasource.ts | 5 + 18 files changed, 465 insertions(+), 7 deletions(-) create mode 100644 docs/docs/en/guide/datasource/starrocks.md create mode 100644 docs/docs/zh/guide/datasource/starrocks.md create mode 100644 docs/img/new_ui/dev/datasource/starrocks.png create mode 100644 dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/pom.xml create mode 100644 dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceChannel.java create mode 100644 dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceChannelFactory.java create mode 100644 dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceClient.java create mode 100644 dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksConnectionParam.java create mode 100644 dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksDataSourceParamDTO.java create mode 100644 dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksDataSourceProcessor.java diff --git a/docs/docs/en/guide/datasource/starrocks.md b/docs/docs/en/guide/datasource/starrocks.md new file mode 100644 index 0000000000..d604e913e7 --- /dev/null +++ b/docs/docs/en/guide/datasource/starrocks.md @@ -0,0 +1,22 @@ +# StarRocks + +![starrocks](../../../../img/new_ui/dev/datasource/starrocks.png) + +## Datasource Parameters + +| **Datasource** | **Description** | +|----------------------------|--------------------------------------------------------------| +| Datasource | Select StarRocks. | +| Datasource name | Enter the name of the DataSource. | +| Description | Enter a description of the DataSource. | +| IP/Host Name | Enter the StarRocks service IP. | +| Port | Enter the StarRocks service port. | +| Username | Set the username for StarRocks connection. | +| Password | Set the password for StarRocks connection. | +| Database name | Enter the database name of the StarRocks connection. | +| Jdbc connection parameters | Parameter settings for StarRocks connection, in JSON format. | + +## Native Supported + +No, you need to import Mysql jdbc driver first, read section example in [datasource-setting](../howto/datasource-setting.md) `DataSource Center` section to import Mysql JDBC Driver. + diff --git a/docs/docs/zh/guide/datasource/starrocks.md b/docs/docs/zh/guide/datasource/starrocks.md new file mode 100644 index 0000000000..c496bb9ff5 --- /dev/null +++ b/docs/docs/zh/guide/datasource/starrocks.md @@ -0,0 +1,17 @@ +# StarRocks数据源 + +![starrocks](../../../../img/new_ui/dev/datasource/starrocks.png) + +- 数据源:选择 STARROCKS +- 数据源名称:输入数据源的名称 +- 描述:输入数据源的描述 +- IP 主机名:输入连接 STARROCKS 的 IP +- 端口:输入连接 STARROCKS 的端口 +- 用户名:设置连接 STARROCKS 的用户名 +- 密码:设置连接 STARROCKS 的密码 +- 数据库名:输入连接 STARROCKS 的数据库名称 +- Jdbc 连接参数:用于 STARROCKS 连接的参数设置,以 JSON 形式填写 + +## 是否原生支持 + +否,StarRocks使用Mysql JDBC Driver, 使用前需请参考 [数据源配置](../howto/datasource-setting.md) 中的 "数据源中心" 章节激活Mysql JDBC Driver。 diff --git a/docs/img/new_ui/dev/datasource/starrocks.png b/docs/img/new_ui/dev/datasource/starrocks.png new file mode 100644 index 0000000000000000000000000000000000000000..766c26460a95f9714fa77ac1aba9abe06923437e GIT binary patch literal 345355 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 ${project.version} + + org.apache.dolphinscheduler + dolphinscheduler-datasource-starrocks + ${project.version} + diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/pom.xml b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/pom.xml index 8a69dd557f..074c49eab6 100644 --- a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/pom.xml +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/pom.xml @@ -30,7 +30,6 @@ org.apache.dolphinscheduler dolphinscheduler-spi - provided diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-spark/pom.xml b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-spark/pom.xml index 7ff09b0edb..2f954cb77c 100644 --- a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-spark/pom.xml +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-spark/pom.xml @@ -43,6 +43,7 @@ org.apache.dolphinscheduler dolphinscheduler-datasource-hive + ${project.version} provided diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/pom.xml b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/pom.xml new file mode 100644 index 0000000000..7f1410c99b --- /dev/null +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/pom.xml @@ -0,0 +1,42 @@ + + + + 4.0.0 + + org.apache.dolphinscheduler + dolphinscheduler-datasource-plugin + dev-SNAPSHOT + + + dolphinscheduler-datasource-starrocks + + + + org.apache.dolphinscheduler + dolphinscheduler-datasource-api + ${project.version} + + + + mysql + mysql-connector-java + + + + diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceChannel.java b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceChannel.java new file mode 100644 index 0000000000..7975ec752b --- /dev/null +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceChannel.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.datasource.starrocks; + +import org.apache.dolphinscheduler.spi.datasource.BaseConnectionParam; +import org.apache.dolphinscheduler.spi.datasource.DataSourceChannel; +import org.apache.dolphinscheduler.spi.datasource.DataSourceClient; +import org.apache.dolphinscheduler.spi.enums.DbType; + +public class StarRocksDataSourceChannel implements DataSourceChannel { + + @Override + public DataSourceClient createDataSourceClient(BaseConnectionParam baseConnectionParam, DbType dbType) { + return new StarRocksDataSourceClient(baseConnectionParam, dbType); + } +} diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceChannelFactory.java b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceChannelFactory.java new file mode 100644 index 0000000000..50e2483952 --- /dev/null +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceChannelFactory.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.datasource.starrocks; + +import org.apache.dolphinscheduler.spi.datasource.DataSourceChannel; +import org.apache.dolphinscheduler.spi.datasource.DataSourceChannelFactory; +import org.apache.dolphinscheduler.spi.enums.DbType; + +import com.google.auto.service.AutoService; + +@AutoService(DataSourceChannelFactory.class) +public class StarRocksDataSourceChannelFactory implements DataSourceChannelFactory { + + @Override + public DataSourceChannel create() { + return new StarRocksDataSourceChannel(); + } + + @Override + public String getName() { + return DbType.STARROCKS.getDescp(); + } +} diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceClient.java b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceClient.java new file mode 100644 index 0000000000..f4786efdf8 --- /dev/null +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/StarRocksDataSourceClient.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.datasource.starrocks; + +import org.apache.dolphinscheduler.plugin.datasource.api.client.CommonDataSourceClient; +import org.apache.dolphinscheduler.spi.datasource.BaseConnectionParam; +import org.apache.dolphinscheduler.spi.enums.DbType; + +public class StarRocksDataSourceClient extends CommonDataSourceClient { + + public StarRocksDataSourceClient(BaseConnectionParam baseConnectionParam, DbType dbType) { + super(baseConnectionParam, dbType); + } + +} diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksConnectionParam.java b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksConnectionParam.java new file mode 100644 index 0000000000..bdd5b91b3c --- /dev/null +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksConnectionParam.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.datasource.starrocks.param; + +import org.apache.dolphinscheduler.spi.datasource.BaseConnectionParam; + +public class StarRocksConnectionParam extends BaseConnectionParam { + + @Override + public String toString() { + return "StarRocksConnectionParam{" + + "user='" + user + '\'' + + ", address='" + address + '\'' + + ", database='" + database + '\'' + + ", jdbcUrl='" + jdbcUrl + '\'' + + ", driverLocation='" + driverLocation + '\'' + + ", driverClassName='" + driverClassName + '\'' + + ", validationQuery='" + validationQuery + '\'' + + ", other=" + other + + '}'; + } +} diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksDataSourceParamDTO.java b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksDataSourceParamDTO.java new file mode 100644 index 0000000000..5941ca429f --- /dev/null +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksDataSourceParamDTO.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.datasource.starrocks.param; + +import org.apache.dolphinscheduler.plugin.datasource.api.datasource.BaseDataSourceParamDTO; +import org.apache.dolphinscheduler.spi.enums.DbType; + +public class StarRocksDataSourceParamDTO extends BaseDataSourceParamDTO { + + @Override + public String toString() { + return "StarRocksDataSourceParamDTO{" + + "id=" + id + + ", name='" + name + '\'' + + ", note='" + note + '\'' + + ", host='" + host + '\'' + + ", port=" + port + + ", database='" + database + '\'' + + ", userName='" + userName + '\'' + + ", testFlag=" + testFlag + + ", bindTestId=" + bindTestId + + ", other=" + other + + '}'; + } + + @Override + public DbType getType() { + return DbType.STARROCKS; + } +} diff --git a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksDataSourceProcessor.java b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksDataSourceProcessor.java new file mode 100644 index 0000000000..ec76899d59 --- /dev/null +++ b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-starrocks/src/main/java/org/apache/dolphinscheduler/plugin/datasource/starrocks/param/StarRocksDataSourceProcessor.java @@ -0,0 +1,181 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.plugin.datasource.starrocks.param; + +import org.apache.dolphinscheduler.common.constants.Constants; +import org.apache.dolphinscheduler.common.constants.DataSourceConstants; +import org.apache.dolphinscheduler.common.utils.JSONUtils; +import org.apache.dolphinscheduler.plugin.datasource.api.datasource.AbstractDataSourceProcessor; +import org.apache.dolphinscheduler.plugin.datasource.api.datasource.BaseDataSourceParamDTO; +import org.apache.dolphinscheduler.plugin.datasource.api.datasource.DataSourceProcessor; +import org.apache.dolphinscheduler.plugin.datasource.api.utils.PasswordUtils; +import org.apache.dolphinscheduler.spi.datasource.BaseConnectionParam; +import org.apache.dolphinscheduler.spi.datasource.ConnectionParam; +import org.apache.dolphinscheduler.spi.enums.DbType; + +import org.apache.commons.collections4.MapUtils; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import lombok.extern.slf4j.Slf4j; + +import com.google.auto.service.AutoService; + +@Slf4j +@AutoService(DataSourceProcessor.class) +public class StarRocksDataSourceProcessor extends AbstractDataSourceProcessor { + + private static final String ALLOW_LOAD_LOCAL_IN_FILE_NAME = "allowLoadLocalInfile"; + + private static final String AUTO_DESERIALIZE = "autoDeserialize"; + + private static final String ALLOW_LOCAL_IN_FILE_NAME = "allowLocalInfile"; + + private static final String ALLOW_URL_IN_LOCAL_IN_FILE_NAME = "allowUrlInLocalInfile"; + + private static final String APPEND_PARAMS = + "allowLoadLocalInfile=false&autoDeserialize=false&allowLocalInfile=false&allowUrlInLocalInfile=false"; + + @Override + public BaseDataSourceParamDTO castDatasourceParamDTO(String paramJson) { + return JSONUtils.parseObject(paramJson, StarRocksDataSourceParamDTO.class); + } + + @Override + public BaseDataSourceParamDTO createDatasourceParamDTO(String connectionJson) { + StarRocksConnectionParam connectionParams = (StarRocksConnectionParam) createConnectionParams(connectionJson); + StarRocksDataSourceParamDTO starRocksDataSourceParamDTO = new StarRocksDataSourceParamDTO(); + + starRocksDataSourceParamDTO.setUserName(connectionParams.getUser()); + starRocksDataSourceParamDTO.setDatabase(connectionParams.getDatabase()); + starRocksDataSourceParamDTO.setOther(connectionParams.getOther()); + + String address = connectionParams.getAddress(); + String[] hostSeperator = address.split(Constants.DOUBLE_SLASH); + String[] hostPortArray = hostSeperator[hostSeperator.length - 1].split(Constants.COMMA); + starRocksDataSourceParamDTO.setPort(Integer.parseInt(hostPortArray[0].split(Constants.COLON)[1])); + starRocksDataSourceParamDTO.setHost(hostPortArray[0].split(Constants.COLON)[0]); + + return starRocksDataSourceParamDTO; + } + + @Override + public BaseConnectionParam createConnectionParams(BaseDataSourceParamDTO dataSourceParam) { + StarRocksDataSourceParamDTO starRocksDataSourceParamDTO = (StarRocksDataSourceParamDTO) dataSourceParam; + String address = String.format("%s%s:%s", DataSourceConstants.JDBC_MYSQL, starRocksDataSourceParamDTO.getHost(), + starRocksDataSourceParamDTO.getPort()); + String jdbcUrl = String.format("%s/%s", address, starRocksDataSourceParamDTO.getDatabase()); + + StarRocksConnectionParam starRocksConnectionParam = new StarRocksConnectionParam(); + starRocksConnectionParam.setJdbcUrl(jdbcUrl); + starRocksConnectionParam.setDatabase(starRocksDataSourceParamDTO.getDatabase()); + starRocksConnectionParam.setAddress(address); + starRocksConnectionParam.setUser(starRocksDataSourceParamDTO.getUserName()); + starRocksConnectionParam.setPassword(PasswordUtils.encodePassword(starRocksDataSourceParamDTO.getPassword())); + starRocksConnectionParam.setDriverClassName(getDatasourceDriver()); + starRocksConnectionParam.setValidationQuery(getValidationQuery()); + starRocksConnectionParam.setOther(starRocksDataSourceParamDTO.getOther()); + + return starRocksConnectionParam; + } + + @Override + public ConnectionParam createConnectionParams(String connectionJson) { + return JSONUtils.parseObject(connectionJson, StarRocksConnectionParam.class); + } + + @Override + public String getDatasourceDriver() { + return DataSourceConstants.COM_MYSQL_CJ_JDBC_DRIVER; + } + + @Override + public String getValidationQuery() { + return DataSourceConstants.MYSQL_VALIDATION_QUERY; + } + + @Override + public String getJdbcUrl(ConnectionParam connectionParam) { + StarRocksConnectionParam starRocksConnectionParam = (StarRocksConnectionParam) connectionParam; + String jdbcUrl = starRocksConnectionParam.getJdbcUrl(); + if (MapUtils.isNotEmpty(starRocksConnectionParam.getOther())) { + return String.format("%s?%s&%s", jdbcUrl, transformOther(starRocksConnectionParam.getOther()), + APPEND_PARAMS); + } + return String.format("%s?%s", jdbcUrl, APPEND_PARAMS); + } + + @Override + public Connection getConnection(ConnectionParam connectionParam) throws ClassNotFoundException, SQLException { + StarRocksConnectionParam starRocksConnectionParam = (StarRocksConnectionParam) connectionParam; + Class.forName(getDatasourceDriver()); + String user = starRocksConnectionParam.getUser(); + if (user.contains(AUTO_DESERIALIZE)) { + log.warn("sensitive param : {} in username field is filtered", AUTO_DESERIALIZE); + user = user.replace(AUTO_DESERIALIZE, ""); + } + String password = PasswordUtils.decodePassword(starRocksConnectionParam.getPassword()); + if (password.contains(AUTO_DESERIALIZE)) { + log.warn("sensitive param : {} in password field is filtered", AUTO_DESERIALIZE); + password = password.replace(AUTO_DESERIALIZE, ""); + } + return DriverManager.getConnection(getJdbcUrl(connectionParam), user, password); + } + + @Override + public DbType getDbType() { + return DbType.STARROCKS; + } + + @Override + public DataSourceProcessor create() { + return new StarRocksDataSourceProcessor(); + } + + private String transformOther(Map paramMap) { + if (MapUtils.isEmpty(paramMap)) { + return null; + } + Map otherMap = new HashMap<>(); + paramMap.forEach((k, v) -> { + if (!checkKeyIsLegitimate(k)) { + return; + } + otherMap.put(k, v); + }); + if (MapUtils.isEmpty(otherMap)) { + return null; + } + List otherList = new ArrayList<>(); + otherMap.forEach((key, value) -> otherList.add(String.format("%s=%s", key, value))); + return String.join("&", otherList); + } + + private static boolean checkKeyIsLegitimate(String key) { + return !key.contains(ALLOW_LOAD_LOCAL_IN_FILE_NAME) + && !key.contains(AUTO_DESERIALIZE) + && !key.contains(ALLOW_LOCAL_IN_FILE_NAME) + && !key.contains(ALLOW_URL_IN_LOCAL_IN_FILE_NAME); + } +} diff --git a/dolphinscheduler-datasource-plugin/pom.xml b/dolphinscheduler-datasource-plugin/pom.xml index 78979924bb..457a1e5db6 100644 --- a/dolphinscheduler-datasource-plugin/pom.xml +++ b/dolphinscheduler-datasource-plugin/pom.xml @@ -42,15 +42,11 @@ dolphinscheduler-datasource-redshift dolphinscheduler-datasource-athena dolphinscheduler-datasource-trino + dolphinscheduler-datasource-starrocks - - org.apache.dolphinscheduler - dolphinscheduler-datasource-hive - ${project.version} - org.apache.dolphinscheduler dolphinscheduler-bom diff --git a/dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/enums/DbType.java b/dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/enums/DbType.java index 50aeeffbcd..0544342c49 100644 --- a/dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/enums/DbType.java +++ b/dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/enums/DbType.java @@ -40,7 +40,9 @@ public enum DbType { H2(9, "h2"), REDSHIFT(10, "redshift"), ATHENA(11, "athena"), - TRINO(12, "trino"); + TRINO(12, "trino"), + STARROCKS(13, "starrocks"), + ; @EnumValue private final int code; diff --git a/dolphinscheduler-ui/src/service/modules/data-source/types.ts b/dolphinscheduler-ui/src/service/modules/data-source/types.ts index 3e5f06dc52..e61ba64ab3 100644 --- a/dolphinscheduler-ui/src/service/modules/data-source/types.ts +++ b/dolphinscheduler-ui/src/service/modules/data-source/types.ts @@ -28,6 +28,7 @@ type IDataBase = | 'REDSHIFT' | 'ATHENA' | 'TRINO' + | 'STARROCKS' type IDataBaseLabel = | 'MYSQL' @@ -42,6 +43,7 @@ type IDataBaseLabel = | 'REDSHIFT' | 'ATHENA' | 'TRINO' +| 'STARROCKS' interface IDataSource { id?: number diff --git a/dolphinscheduler-ui/src/views/datasource/list/use-form.ts b/dolphinscheduler-ui/src/views/datasource/list/use-form.ts index d2e67d0096..2542fee7cc 100644 --- a/dolphinscheduler-ui/src/views/datasource/list/use-form.ts +++ b/dolphinscheduler-ui/src/views/datasource/list/use-form.ts @@ -298,6 +298,11 @@ export const datasourceType: IDataBaseOptionKeys = { value: 'TRINO', label: 'TRINO', defaultPort: 8080 + }, + STARROCKS: { + value: 'STARROCKS', + label: 'STARROCKS', + defaultPort: 9030 } } diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasource.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasource.ts index f47803e21c..e927e3629e 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasource.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasource.ts @@ -97,6 +97,11 @@ export function useDatasource( id: 12, code: 'TRINO', disabled: false + }, + { + id: 13, + code: 'STARROCKS', + disabled: false } ]