From 46e4b9a85c05e9f254cbe1374aca14e027bfba04 Mon Sep 17 00:00:00 2001 From: z30062410 Date: Tue, 8 Oct 2024 16:52:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?sqlite=E6=95=B0=E6=8D=AE=E5=BA=93=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- omniadvisor/pom.xml | 5 +++++ .../com/huawei/boostkit/omniadvisor/OmniAdvisor.java | 12 +++++++----- .../boostkit/omniadvisor/OmniAdvisorContext.java | 5 ++++- .../omniadvisor/configuration/DBConfigure.java | 1 + .../boostkit/omniadvisor/models/AppResult.java | 6 +++--- .../resources/conf/omniAdvisorLogAnalyzer.properties | 5 +++-- 6 files changed, 23 insertions(+), 11 deletions(-) diff --git a/omniadvisor/pom.xml b/omniadvisor/pom.xml index d72c33d17..3aebd8f91 100644 --- a/omniadvisor/pom.xml +++ b/omniadvisor/pom.xml @@ -697,6 +697,11 @@ + + org.xerial + sqlite-jdbc + 3.36.0.3 + diff --git a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/OmniAdvisor.java b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/OmniAdvisor.java index 315e0208a..a36a21069 100644 --- a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/OmniAdvisor.java +++ b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/OmniAdvisor.java @@ -26,7 +26,6 @@ import java.util.List; import java.util.stream.Collectors; public final class OmniAdvisor { - private static final int REQUIRED_PARAMS_LENGTH = 4; private static final String[] TIME_PARSE_PATTERNS = {"yyyy-MM-dd HH:mm:ss"}; private OmniAdvisor() {} @@ -34,10 +33,6 @@ public final class OmniAdvisor { public static void main(String[] args) { List params = removeEmptyArgs(args); - if (params.size() != REQUIRED_PARAMS_LENGTH) { - throw new OmniAdvisorException("The number of parameters is abnormal. Only four parameters are supported."); - } - Date startDate; Date finishDate; try { @@ -54,6 +49,13 @@ public final class OmniAdvisor { throw new OmniAdvisorException("start time cannot be greater than finish time"); } + if (params.size() == 4) { + OmniAdvisorContext.initContext(params.get(2), params.get(3)); + } else if (params.size() == 2) { + OmniAdvisorContext.initContext(); + } else { + throw new OmniAdvisorException("The number of parameters is abnormal. Only two or four parameters are supported"); + } OmniAdvisorContext.initContext(params.get(2), params.get(3)); OmniAdvisorRunner runner = new OmniAdvisorRunner(startTimeMills, finishedTimeMills); runner.run(); diff --git a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/OmniAdvisorContext.java b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/OmniAdvisorContext.java index a3e52441e..fcc059104 100644 --- a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/OmniAdvisorContext.java +++ b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/OmniAdvisorContext.java @@ -63,7 +63,7 @@ public final class OmniAdvisorContext { private Finder finder = new Finder<>(AppResult.class); private OmniAdvisorContext() { - this(false, null, null); + this(true, "", ""); } private OmniAdvisorContext(String user, String passwd) { @@ -72,6 +72,9 @@ public final class OmniAdvisorContext { private OmniAdvisorContext(boolean initDatabase, String user, String passwd) { PropertiesConfiguration configuration = loadConfigure(); + if ("mysql".equalsIgnoreCase(configuration.getString("database.db.type")) && "".equals(user) && "".equals(passwd)) { + throw new OmniAdvisorException("The number of parameters is abnormal. Only four parameters are supported in MySQL.") + } if (initDatabase) { initDataSource(configuration, user, passwd); } diff --git a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/configuration/DBConfigure.java b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/configuration/DBConfigure.java index 6164c896c..ce5751376 100644 --- a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/configuration/DBConfigure.java +++ b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/configuration/DBConfigure.java @@ -36,6 +36,7 @@ public final class DBConfigure { private static final String DB_DEFAULT_DRIVER = "com.mysql.cj.jdbc.Driver"; private static final String DB_DRIVER_KEY = "datasource.db.driver"; + private static final String DB_TYPE = "datasource.db.type"; private static final String DB_URL_KEY = "datasource.db.url"; private static final String DB_USERNAME_KEY = "datasource.db.username"; private static final String DB_PASSWORD_KEY = "datasource.db.password"; diff --git a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/models/AppResult.java b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/models/AppResult.java index 7ce7cac2b..9b4f9e13c 100644 --- a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/models/AppResult.java +++ b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/models/AppResult.java @@ -73,16 +73,16 @@ public class AppResult extends Model { @Column(length = DEPLOY_MODE_LIMIT) public String deploy_mode; - @Column(columnDefinition = "TEXT CHARACTER SET utf8mb4") + @Column(columnDefinition = "TEXT") public String submit_cmd; - @Column(columnDefinition = "TEXT CHARACTER SET utf8mb4") + @Column(columnDefinition = "TEXT") public String parameters; @Column() public int executionStatus; - @Column(columnDefinition = "LONGTEXT CHARACTER SET utf8mb4") + @Column(columnDefinition = "TEXT") public String query; @Column(length = IDENTIFICATION_LIMIT) diff --git a/omniadvisor/src/main/resources/conf/omniAdvisorLogAnalyzer.properties b/omniadvisor/src/main/resources/conf/omniAdvisorLogAnalyzer.properties index 881168162..f2a1be05f 100644 --- a/omniadvisor/src/main/resources/conf/omniAdvisorLogAnalyzer.properties +++ b/omniadvisor/src/main/resources/conf/omniAdvisorLogAnalyzer.properties @@ -1,7 +1,8 @@ log.analyzer.thread.count=3 -datasource.db.driver=com.mysql.cj.jdbc.Driver -datasource.db.url=url +datasource.db.type=type +datasource.db.driver=org.sqlite.JDBC +datasource.db.url=jdbc:sqlite:test.db spark.enable=true spark.workload=default -- Gitee From 43605f91a7739bd6228c0454f7c9bfa23215b589 Mon Sep 17 00:00:00 2001 From: z30062410 Date: Wed, 16 Oct 2024 11:35:39 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9omniAdvisorLogAnalyzer.pr?= =?UTF-8?q?operties=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boostkit/omniadvisor/configuration/DBConfigure.java | 1 + .../src/main/resources/conf/omniAdvisorLogAnalyzer.properties | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/configuration/DBConfigure.java b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/configuration/DBConfigure.java index ce5751376..2e113eaba 100644 --- a/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/configuration/DBConfigure.java +++ b/omniadvisor/src/main/java/com/huawei/boostkit/omniadvisor/configuration/DBConfigure.java @@ -47,6 +47,7 @@ public final class DBConfigure { Properties databaseProperties = new Properties(); databaseProperties.put(DB_DRIVER_KEY, configuration.getString(DB_DRIVER_KEY, DB_DEFAULT_DRIVER)); databaseProperties.put(DB_URL_KEY, configuration.getString(DB_URL_KEY)); + databaseProperties.put(DB_TYPE, configuration.getString(DB_TYPE)); databaseProperties.put(DB_USERNAME_KEY, userName); databaseProperties.put(DB_PASSWORD_KEY, passWord); diff --git a/omniadvisor/src/main/resources/conf/omniAdvisorLogAnalyzer.properties b/omniadvisor/src/main/resources/conf/omniAdvisorLogAnalyzer.properties index f2a1be05f..4d03b045d 100644 --- a/omniadvisor/src/main/resources/conf/omniAdvisorLogAnalyzer.properties +++ b/omniadvisor/src/main/resources/conf/omniAdvisorLogAnalyzer.properties @@ -1,8 +1,8 @@ log.analyzer.thread.count=3 datasource.db.type=type -datasource.db.driver=org.sqlite.JDBC -datasource.db.url=jdbc:sqlite:test.db +datasource.db.driver=driver +datasource.db.url=url spark.enable=true spark.workload=default -- Gitee