diff options
| author | lifengchao <[email protected]> | 2024-08-29 14:01:01 +0800 |
|---|---|---|
| committer | lifengchao <[email protected]> | 2024-08-29 14:01:01 +0800 |
| commit | 4c5e7d2d7fa590077d8c2aa065d238216cd35eac (patch) | |
| tree | 0cdf1b7917a692ea74beeac28de74d721e23fc4e | |
| parent | af0286f977f7408951a46523f990f1ee11674f50 (diff) | |
TSG-22013 compact昨天数据任务支持设置offsetDays
3 files changed, 31 insertions, 10 deletions
diff --git a/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/DruidCompactJob.java b/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/DruidCompactJob.java index 6cf516d..956165f 100644 --- a/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/DruidCompactJob.java +++ b/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/DruidCompactJob.java @@ -183,8 +183,6 @@ public class DruidCompactJob { public JSONArray parseParams(String params, DruidCompactUtil druidCompactUtil) {
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDateTime now = LocalDateTime.now(ZoneId.of("UTC")); // 默认结束时间是UTC时间
- LocalDateTime defaultEndDateTime = now.getHour() >= 1? now: now.plusDays(-1); // 如果hour在1小时内, 结束时间往前推一天
- LocalDateTime defaultStartDateTime = defaultEndDateTime.plusDays(-1);
JSONArray paramArray = JSON.parseArray(params);
for (int i = 0; i < paramArray.size(); i++) {
@@ -194,6 +192,18 @@ public class DruidCompactJob { Preconditions.checkArgument("compact".equals(param.getString("type")), "type must is compact:%s", paramStr);
Preconditions.checkArgument(param.getString("dataSource") != null, "dataSource is required:%s", paramStr);
String interval = param.getString("interval");
+
+ int offsetDays = param.getIntValue("offsetDays", 0);
+ param.remove("offsetDays");
+ Preconditions.checkArgument(offsetDays >= 0, "offsetDays must must >= 0:%s", offsetDays);
+ LocalDateTime defaultEndDateTime;
+ if(offsetDays == 0){
+ defaultEndDateTime = now.getHour() >= 1? now: now.plusDays(-1); // 如果hour在1小时内, 结束时间往前推一天
+ }else{
+ defaultEndDateTime = now.minusDays(offsetDays);
+ }
+ LocalDateTime defaultStartDateTime = defaultEndDateTime.plusDays(-1);
+
/**
* interval:
* null:默认周期
diff --git a/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/DruidMergeHistoryDataJob.java b/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/DruidMergeHistoryDataJob.java index 7c55e0a..c12ac96 100644 --- a/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/DruidMergeHistoryDataJob.java +++ b/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/DruidMergeHistoryDataJob.java @@ -207,7 +207,7 @@ public class DruidMergeHistoryDataJob { param.put("interval", dateFormatter.format(defaultStartDateTime) + "/" + dateFormatter.format(defaultEndDateTime));
} else if (!interval.contains("/")) {
int days = Integer.parseInt(interval);
- Preconditions.checkArgument(days > 5, "days must > 5:%s", Integer.toString(days));
+ Preconditions.checkArgument(days >= 1, "days must > 1:%s", Integer.toString(days));
LocalDateTime startDateTime = defaultEndDateTime.minusDays(days);
param.put("interval", dateFormatter.format(startDateTime) + "/" + dateFormatter.format(defaultEndDateTime));
}
diff --git a/galaxy-job-executor/src/test/java/com/mesalab/executor/test/DruidCompactJobTest.java b/galaxy-job-executor/src/test/java/com/mesalab/executor/test/DruidCompactJobTest.java index a07402d..b7ce347 100644 --- a/galaxy-job-executor/src/test/java/com/mesalab/executor/test/DruidCompactJobTest.java +++ b/galaxy-job-executor/src/test/java/com/mesalab/executor/test/DruidCompactJobTest.java @@ -64,7 +64,7 @@ public class DruidCompactJobTest { */
@Test
public void compactTest() throws Exception {
- /*String params = "[\n" +
+ String params = "[\n" +
" {\n" +
" \"type\": \"compact\",\n" +
" \"dataSource\": \"object_statistics_test\",\n" +
@@ -75,16 +75,17 @@ public class DruidCompactJobTest { " {\n" +
" \"type\": \"compact\",\n" +
" \"dataSource\": \"object_statistics\",\n" +
+ " \"offsetDays\": 1,\n" +
" \"tuningConfig\" : {\n" +
" \"type\" : \"index_parallel\"\n" +
" }\n" +
" }\n" +
- "]";*/
- String params = "[\n" +
+ "]";
+ /*String params = "[\n" +
" {\n" +
" \"type\": \"compact\",\n" +
" \"dataSource\": \"statistics_rule\",\n" +
- " \"interval\": \"2024-07-22/2024-07-23\",\n" +
+ " \"offsetDays\": 1,\n" +
" \"tuningConfig\" : {\n" +
" \"type\" : \"index_parallel\",\n" +
" \"maxNumConcurrentSubTasks\" : 2\n" +
@@ -94,7 +95,7 @@ public class DruidCompactJobTest { " \"queryGranularity\": \"MINUTE\"\n" +
" },\n" +
" }" +
- "]";
+ "]";*/
System.out.println(params);
druidCompactSegmentJobHandler(params);
@@ -250,8 +251,6 @@ public class DruidCompactJobTest { public JSONArray parseParams(String params, DruidCompactUtil druidCompactUtil) {
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDateTime now = LocalDateTime.now(ZoneId.of("UTC")); // 默认结束时间是UTC时间
- LocalDateTime defaultEndDateTime = now.getHour() >= 1? now: now.plusDays(-1); // 如果hour在1小时内, 结束时间往前推一天
- LocalDateTime defaultStartDateTime = defaultEndDateTime.plusDays(-1);
JSONArray paramArray = JSON.parseArray(params);
for (int i = 0; i < paramArray.size(); i++) {
@@ -261,6 +260,18 @@ public class DruidCompactJobTest { Preconditions.checkArgument("compact".equals(param.getString("type")), "type must is compact:%s", paramStr);
Preconditions.checkArgument(param.getString("dataSource") != null, "dataSource is required:%s", paramStr);
String interval = param.getString("interval");
+
+ int offsetDays = param.getIntValue("offsetDays", 0);
+ param.remove("offsetDays");
+ Preconditions.checkArgument(offsetDays >= 0, "offsetDays must must >= 0:%s", offsetDays);
+ LocalDateTime defaultEndDateTime;
+ if(offsetDays == 0){
+ defaultEndDateTime = now.getHour() >= 1? now: now.plusDays(-1); // 如果hour在1小时内, 结束时间往前推一天
+ }else{
+ defaultEndDateTime = now.minusDays(offsetDays);
+ }
+ LocalDateTime defaultStartDateTime = defaultEndDateTime.plusDays(-1);
+
/**
* interval:
* null:默认周期
|
