[improvement][headless]Rename metric and tag query type to aggregate and detail respectively.

This commit is contained in:
jerryjzhang
2024-09-26 20:29:51 +08:00
parent 066b9cc1f7
commit 35030aeb23
14 changed files with 77 additions and 117 deletions

View File

@@ -250,8 +250,8 @@ def build_dataSet(domain_id,model_id1,model_id2,model_id3,model_id4):
{"viewModelConfigs":[{"id":model_id1,"includesAll":False,"metrics":metric_list1, {"viewModelConfigs":[{"id":model_id1,"includesAll":False,"metrics":metric_list1,
"dimensions":dimension_list1},{"id":model_id2,"includesAll":False, "dimensions":dimension_list1},{"id":model_id2,"includesAll":False,
"metrics":metric_list2,"dimensions":dimension_list2},{"id":model_id3,"includesAll":False,"metrics":metric_list3,"dimensions":dimension_list3}, "metrics":metric_list2,"dimensions":dimension_list2},{"id":model_id3,"includesAll":False,"metrics":metric_list3,"dimensions":dimension_list3},
{"id":model_id4,"includesAll":False,"metrics":metric_list4,"dimensions":dimension_list4}]},"queryConfig":{"tagTypeDefaultConfig": {"id":model_id4,"includesAll":False,"metrics":metric_list4,"dimensions":dimension_list4}]},"queryConfig":{"detailTypeDefaultConfig":
{"dimensionIds":[],"metricIds":[]},"metricTypeDefaultConfig":{"timeDefaultConfig":{"unit":1,"period":"DAY","timeMode":"RECENT"}}},"admins":["admin"],"admin":"admin"} {"dimensionIds":[],"metricIds":[]},"aggregateTypeDefaultConfig":{"timeDefaultConfig":{"unit":1,"period":"DAY","timeMode":"RECENT"}}},"admins":["admin"],"admin":"admin"}
json_dict={"name":"DuSQL 互联网企业","bizName":"internet","description":"DuSQL互联网企业数据源相关的指标和维度等","typeEnum":"DATASET","sensitiveLevel":0,"domainId":domain_id, json_dict={"name":"DuSQL 互联网企业","bizName":"internet","description":"DuSQL互联网企业数据源相关的指标和维度等","typeEnum":"DATASET","sensitiveLevel":0,"domainId":domain_id,
"dataSetDetail":{"dataSetModelConfigs":[ "dataSetDetail":{"dataSetModelConfigs":[
@@ -260,7 +260,7 @@ def build_dataSet(domain_id,model_id1,model_id2,model_id3,model_id4):
{"id":model_id3,"includesAll":False,"metrics":metric_list3,"dimensions":dimension_list3}, {"id":model_id3,"includesAll":False,"metrics":metric_list3,"dimensions":dimension_list3},
{"id":model_id4,"includesAll":False,"metrics":metric_list4,"dimensions":dimension_list4} {"id":model_id4,"includesAll":False,"metrics":metric_list4,"dimensions":dimension_list4}
]}, ]},
"queryConfig":{"tagTypeDefaultConfig":{},"metricTypeDefaultConfig":{"timeDefaultConfig":{"unit":0,"period":"DAY","timeMode":"RECENT"}}},"admins":["admin"],"admin":"admin"} "queryConfig":{"detailTypeDefaultConfig":{},"aggregateTypeDefaultConfig":{"timeDefaultConfig":{"unit":0,"period":"DAY","timeMode":"RECENT"}}},"admins":["admin"],"admin":"admin"}
url=get_url_pre()+"/api/semantic/dataSet" url=get_url_pre()+"/api/semantic/dataSet"
authorization=get_authorization() authorization=get_authorization()
header = {} header = {}

View File

@@ -5,7 +5,7 @@ import com.tencent.supersonic.common.pojo.enums.TimeMode;
import lombok.Data; import lombok.Data;
@Data @Data
public class MetricTypeDefaultConfig { public class AggregateTypeDefaultConfig {
private TimeDefaultConfig timeDefaultConfig = private TimeDefaultConfig timeDefaultConfig =
new TimeDefaultConfig(7, DatePeriodEnum.DAY, TimeMode.RECENT); new TimeDefaultConfig(7, DatePeriodEnum.DAY, TimeMode.RECENT);

View File

@@ -75,38 +75,38 @@ public class DataSetSchema {
if (queryConfig == null) { if (queryConfig == null) {
return null; return null;
} }
if (queryConfig.getTagTypeDefaultConfig() == null) { if (queryConfig.getDetailTypeDefaultConfig() == null) {
return null; return null;
} }
return queryConfig.getTagTypeDefaultConfig().getTimeDefaultConfig(); return queryConfig.getDetailTypeDefaultConfig().getTimeDefaultConfig();
} }
public TimeDefaultConfig getMetricTypeTimeDefaultConfig() { public TimeDefaultConfig getMetricTypeTimeDefaultConfig() {
if (queryConfig == null) { if (queryConfig == null) {
return null; return null;
} }
if (queryConfig.getMetricTypeDefaultConfig() == null) { if (queryConfig.getAggregateTypeDefaultConfig() == null) {
return null; return null;
} }
return queryConfig.getMetricTypeDefaultConfig().getTimeDefaultConfig(); return queryConfig.getAggregateTypeDefaultConfig().getTimeDefaultConfig();
} }
public TagTypeDefaultConfig getTagTypeDefaultConfig() { public DetailTypeDefaultConfig getTagTypeDefaultConfig() {
if (queryConfig == null) { if (queryConfig == null) {
return null; return null;
} }
return queryConfig.getTagTypeDefaultConfig(); return queryConfig.getDetailTypeDefaultConfig();
} }
public List<SchemaElement> getTagDefaultDimensions() { public List<SchemaElement> getTagDefaultDimensions() {
TagTypeDefaultConfig tagTypeDefaultConfig = getTagTypeDefaultConfig(); DetailTypeDefaultConfig detailTypeDefaultConfig = getTagTypeDefaultConfig();
if (Objects.isNull(tagTypeDefaultConfig) if (Objects.isNull(detailTypeDefaultConfig)
|| Objects.isNull(tagTypeDefaultConfig.getDefaultDisplayInfo())) { || Objects.isNull(detailTypeDefaultConfig.getDefaultDisplayInfo())) {
return new ArrayList<>(); return new ArrayList<>();
} }
if (CollectionUtils.isNotEmpty( if (CollectionUtils.isNotEmpty(
tagTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds())) { detailTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds())) {
return tagTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds().stream() return detailTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds().stream()
.map( .map(
id -> { id -> {
SchemaElement metric = getElement(SchemaElementType.METRIC, id); SchemaElement metric = getElement(SchemaElementType.METRIC, id);
@@ -119,14 +119,14 @@ public class DataSetSchema {
} }
public List<SchemaElement> getTagDefaultMetrics() { public List<SchemaElement> getTagDefaultMetrics() {
TagTypeDefaultConfig tagTypeDefaultConfig = getTagTypeDefaultConfig(); DetailTypeDefaultConfig detailTypeDefaultConfig = getTagTypeDefaultConfig();
if (Objects.isNull(tagTypeDefaultConfig) if (Objects.isNull(detailTypeDefaultConfig)
|| Objects.isNull(tagTypeDefaultConfig.getDefaultDisplayInfo())) { || Objects.isNull(detailTypeDefaultConfig.getDefaultDisplayInfo())) {
return new ArrayList<>(); return new ArrayList<>();
} }
if (CollectionUtils.isNotEmpty( if (CollectionUtils.isNotEmpty(
tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds())) { detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds())) {
return tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() return detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream()
.map(id -> getElement(SchemaElementType.DIMENSION, id)) .map(id -> getElement(SchemaElementType.DIMENSION, id))
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());

View File

@@ -3,7 +3,7 @@ package com.tencent.supersonic.headless.api.pojo;
import lombok.Data; import lombok.Data;
@Data @Data
public class TagTypeDefaultConfig { public class DetailTypeDefaultConfig {
private DefaultDisplayInfo defaultDisplayInfo; private DefaultDisplayInfo defaultDisplayInfo;

View File

@@ -5,7 +5,8 @@ import lombok.Data;
@Data @Data
public class QueryConfig { public class QueryConfig {
private TagTypeDefaultConfig tagTypeDefaultConfig = new TagTypeDefaultConfig(); private DetailTypeDefaultConfig detailTypeDefaultConfig = new DetailTypeDefaultConfig();
private MetricTypeDefaultConfig metricTypeDefaultConfig = new MetricTypeDefaultConfig(); private AggregateTypeDefaultConfig aggregateTypeDefaultConfig =
new AggregateTypeDefaultConfig();
} }

View File

@@ -77,9 +77,9 @@ public class SemanticParseInfo {
public Long getDetailLimit() { public Long getDetailLimit() {
Long limit = DEFAULT_DETAIL_LIMIT; Long limit = DEFAULT_DETAIL_LIMIT;
if (Objects.nonNull(queryConfig) if (Objects.nonNull(queryConfig)
&& Objects.nonNull(queryConfig.getTagTypeDefaultConfig()) && Objects.nonNull(queryConfig.getDetailTypeDefaultConfig())
&& Objects.nonNull(queryConfig.getTagTypeDefaultConfig().getLimit())) { && Objects.nonNull(queryConfig.getDetailTypeDefaultConfig().getLimit())) {
limit = queryConfig.getTagTypeDefaultConfig().getLimit(); limit = queryConfig.getDetailTypeDefaultConfig().getLimit();
} }
return limit; return limit;
} }
@@ -87,9 +87,9 @@ public class SemanticParseInfo {
public Long getMetricLimit() { public Long getMetricLimit() {
Long limit = DEFAULT_METRIC_LIMIT; Long limit = DEFAULT_METRIC_LIMIT;
if (Objects.nonNull(queryConfig) if (Objects.nonNull(queryConfig)
&& Objects.nonNull(queryConfig.getMetricTypeDefaultConfig()) && Objects.nonNull(queryConfig.getAggregateTypeDefaultConfig())
&& Objects.nonNull(queryConfig.getMetricTypeDefaultConfig().getLimit())) { && Objects.nonNull(queryConfig.getAggregateTypeDefaultConfig().getLimit())) {
limit = queryConfig.getMetricTypeDefaultConfig().getLimit(); limit = queryConfig.getAggregateTypeDefaultConfig().getLimit();
} }
return limit; return limit;
} }

View File

@@ -54,9 +54,9 @@ public class TimeCorrector extends BaseSemanticCorrector {
TimeDefaultConfig timeConfig; TimeDefaultConfig timeConfig;
QueryConfig queryConfig = dataSetSchema.getQueryConfig(); QueryConfig queryConfig = dataSetSchema.getQueryConfig();
if (QueryType.METRIC.equals(semanticParseInfo.getQueryType())) { if (QueryType.METRIC.equals(semanticParseInfo.getQueryType())) {
timeConfig = queryConfig.getMetricTypeDefaultConfig().getTimeDefaultConfig(); timeConfig = queryConfig.getAggregateTypeDefaultConfig().getTimeDefaultConfig();
} else { } else {
timeConfig = queryConfig.getTagTypeDefaultConfig().getTimeDefaultConfig(); timeConfig = queryConfig.getDetailTypeDefaultConfig().getTimeDefaultConfig();
} }
String timeFormat = dataSetSchema.getPartitionTimeFormat(); String timeFormat = dataSetSchema.getPartitionTimeFormat();

View File

@@ -38,6 +38,7 @@ public class OnePassSCSqlGenStrategy extends SqlGenStrategy {
+ "\n4.DO NOT calculate date range using functions." + "\n4.DO NOT calculate date range using functions."
+ "\n5.DO NOT calculate date range using DATE_SUB." + "\n5.DO NOT calculate date range using DATE_SUB."
+ "\n6.DO NOT miss the AGGREGATE operator of metrics, always add it as needed." + "\n6.DO NOT miss the AGGREGATE operator of metrics, always add it as needed."
+ "\n7.ALWAYS USE `with` statement to handle secondary calculation scenario."
+ "\n#Exemplars:\n{{exemplar}}" + "\n#Exemplars:\n{{exemplar}}"
+ "#Question:\nQuestion:{{question}},Schema:{{schema}},SideInfo:{{information}}"; + "#Question:\nQuestion:{{question}},Schema:{{schema}},SideInfo:{{information}}";

View File

@@ -2,11 +2,8 @@ package com.tencent.supersonic.headless.chat.query.rule.detail;
import com.tencent.supersonic.common.pojo.Constants; import com.tencent.supersonic.common.pojo.Constants;
import com.tencent.supersonic.common.pojo.Order; import com.tencent.supersonic.common.pojo.Order;
import com.tencent.supersonic.headless.api.pojo.DataSetSchema; import com.tencent.supersonic.headless.api.pojo.*;
import com.tencent.supersonic.headless.api.pojo.SchemaElement; import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.SchemaElementType;
import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo;
import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig;
import com.tencent.supersonic.headless.chat.ChatQueryContext; import com.tencent.supersonic.headless.chat.ChatQueryContext;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
@@ -35,13 +32,14 @@ public abstract class DetailListQuery extends DetailSemanticQuery {
Set<SchemaElement> dimensions = new LinkedHashSet<>(); Set<SchemaElement> dimensions = new LinkedHashSet<>();
Set<SchemaElement> metrics = new LinkedHashSet<>(); Set<SchemaElement> metrics = new LinkedHashSet<>();
Set<Order> orders = new LinkedHashSet<>(); Set<Order> orders = new LinkedHashSet<>();
TagTypeDefaultConfig tagTypeDefaultConfig = dataSetSchema.getTagTypeDefaultConfig(); DetailTypeDefaultConfig detailTypeDefaultConfig =
if (tagTypeDefaultConfig != null dataSetSchema.getTagTypeDefaultConfig();
&& tagTypeDefaultConfig.getDefaultDisplayInfo() != null) { if (detailTypeDefaultConfig != null
&& detailTypeDefaultConfig.getDefaultDisplayInfo() != null) {
if (CollectionUtils.isNotEmpty( if (CollectionUtils.isNotEmpty(
tagTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds())) { detailTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds())) {
metrics = metrics =
tagTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds().stream() detailTypeDefaultConfig.getDefaultDisplayInfo().getMetricIds().stream()
.map( .map(
id -> { id -> {
SchemaElement metric = SchemaElement metric =
@@ -59,9 +57,10 @@ public abstract class DetailListQuery extends DetailSemanticQuery {
.collect(Collectors.toSet()); .collect(Collectors.toSet());
} }
if (CollectionUtils.isNotEmpty( if (CollectionUtils.isNotEmpty(
tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds())) { detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds())) {
dimensions = dimensions =
tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds()
.stream()
.map( .map(
id -> id ->
dataSetSchema.getElement( dataSetSchema.getElement(

View File

@@ -2,14 +2,8 @@ package com.tencent.supersonic.headless.chat.corrector;
import com.tencent.supersonic.common.pojo.enums.QueryType; import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.util.ContextUtils; import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.headless.api.pojo.DataSetSchema; import com.tencent.supersonic.headless.api.pojo.*;
import com.tencent.supersonic.headless.api.pojo.DefaultDisplayInfo; import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.QueryConfig;
import com.tencent.supersonic.headless.api.pojo.SchemaElement;
import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo;
import com.tencent.supersonic.headless.api.pojo.SemanticSchema;
import com.tencent.supersonic.headless.api.pojo.SqlInfo;
import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig;
import com.tencent.supersonic.headless.chat.ChatQueryContext; import com.tencent.supersonic.headless.chat.ChatQueryContext;
import org.junit.Assert; import org.junit.Assert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@@ -58,7 +52,7 @@ class SelectCorrectorTest {
List<DataSetSchema> dataSetSchemaList = new ArrayList<>(); List<DataSetSchema> dataSetSchemaList = new ArrayList<>();
DataSetSchema dataSetSchema = new DataSetSchema(); DataSetSchema dataSetSchema = new DataSetSchema();
QueryConfig queryConfig = new QueryConfig(); QueryConfig queryConfig = new QueryConfig();
TagTypeDefaultConfig tagTypeDefaultConfig = new TagTypeDefaultConfig(); DetailTypeDefaultConfig detailTypeDefaultConfig = new DetailTypeDefaultConfig();
DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo(); DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo();
List<Long> dimensionIds = new ArrayList<>(); List<Long> dimensionIds = new ArrayList<>();
dimensionIds.add(1L); dimensionIds.add(1L);
@@ -70,8 +64,8 @@ class SelectCorrectorTest {
metricIds.add(4L); metricIds.add(4L);
defaultDisplayInfo.setMetricIds(metricIds); defaultDisplayInfo.setMetricIds(metricIds);
tagTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); detailTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo);
queryConfig.setTagTypeDefaultConfig(tagTypeDefaultConfig); queryConfig.setDetailTypeDefaultConfig(detailTypeDefaultConfig);
dataSetSchema.setQueryConfig(queryConfig); dataSetSchema.setQueryConfig(queryConfig);
SchemaElement schemaElement = new SchemaElement(); SchemaElement schemaElement = new SchemaElement();

View File

@@ -9,18 +9,8 @@ import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.QueryType; import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum; import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum; import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
import com.tencent.supersonic.headless.api.pojo.DataInfo; import com.tencent.supersonic.headless.api.pojo.*;
import com.tencent.supersonic.headless.api.pojo.DataSetInfo; import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.DataSetSchema;
import com.tencent.supersonic.headless.api.pojo.Dim;
import com.tencent.supersonic.headless.api.pojo.EntityInfo;
import com.tencent.supersonic.headless.api.pojo.MetaFilter;
import com.tencent.supersonic.headless.api.pojo.QueryParam;
import com.tencent.supersonic.headless.api.pojo.SchemaElement;
import com.tencent.supersonic.headless.api.pojo.SchemaElementType;
import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo;
import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.TimeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.enums.SemanticType; import com.tencent.supersonic.headless.api.pojo.enums.SemanticType;
import com.tencent.supersonic.headless.api.pojo.request.DimensionValueReq; import com.tencent.supersonic.headless.api.pojo.request.DimensionValueReq;
import com.tencent.supersonic.headless.api.pojo.request.QueryFilter; import com.tencent.supersonic.headless.api.pojo.request.QueryFilter;
@@ -493,12 +483,13 @@ public class S2SemanticLayerService implements SemanticLayerService {
dataSetInfo.setPrimaryKey(dataSetSchema.getEntity().getBizName()); dataSetInfo.setPrimaryKey(dataSetSchema.getEntity().getBizName());
} }
entityInfo.setDataSetInfo(dataSetInfo); entityInfo.setDataSetInfo(dataSetInfo);
TagTypeDefaultConfig tagTypeDefaultConfig = dataSetSchema.getTagTypeDefaultConfig(); DetailTypeDefaultConfig detailTypeDefaultConfig = dataSetSchema.getTagTypeDefaultConfig();
if (tagTypeDefaultConfig == null || tagTypeDefaultConfig.getDefaultDisplayInfo() == null) { if (detailTypeDefaultConfig == null
|| detailTypeDefaultConfig.getDefaultDisplayInfo() == null) {
return entityInfo; return entityInfo;
} }
List<DataInfo> dimensions = List<DataInfo> dimensions =
tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream()
.map( .map(
id -> { id -> {
SchemaElement element = SchemaElement element =
@@ -516,7 +507,7 @@ public class S2SemanticLayerService implements SemanticLayerService {
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
List<DataInfo> metrics = List<DataInfo> metrics =
tagTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream() detailTypeDefaultConfig.getDefaultDisplayInfo().getDimensionIds().stream()
.map( .map(
id -> { id -> {
SchemaElement element = SchemaElement element =

View File

@@ -8,18 +8,8 @@ import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum; import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.TimeMode; import com.tencent.supersonic.common.pojo.enums.TimeMode;
import com.tencent.supersonic.common.pojo.enums.TypeEnums; import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.headless.api.pojo.DataSetDetail; import com.tencent.supersonic.headless.api.pojo.*;
import com.tencent.supersonic.headless.api.pojo.DataSetModelConfig; import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.DefaultDisplayInfo;
import com.tencent.supersonic.headless.api.pojo.Dim;
import com.tencent.supersonic.headless.api.pojo.DimensionTimeTypeParams;
import com.tencent.supersonic.headless.api.pojo.Identify;
import com.tencent.supersonic.headless.api.pojo.Measure;
import com.tencent.supersonic.headless.api.pojo.MetricTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.ModelDetail;
import com.tencent.supersonic.headless.api.pojo.QueryConfig;
import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.TimeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.enums.DimensionType; import com.tencent.supersonic.headless.api.pojo.enums.DimensionType;
import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType; import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType;
import com.tencent.supersonic.headless.api.pojo.request.DataSetReq; import com.tencent.supersonic.headless.api.pojo.request.DataSetReq;
@@ -218,22 +208,22 @@ public class CspiderDemo extends S2BaseDemo {
dataSetReq.setDataSetDetail(dsDetail); dataSetReq.setDataSetDetail(dsDetail);
dataSetReq.setTypeEnum(TypeEnums.DATASET); dataSetReq.setTypeEnum(TypeEnums.DATASET);
QueryConfig queryConfig = new QueryConfig(); QueryConfig queryConfig = new QueryConfig();
TagTypeDefaultConfig tagTypeDefaultConfig = new TagTypeDefaultConfig(); DetailTypeDefaultConfig detailTypeDefaultConfig = new DetailTypeDefaultConfig();
TimeDefaultConfig tagTimeDefaultConfig = new TimeDefaultConfig(); TimeDefaultConfig tagTimeDefaultConfig = new TimeDefaultConfig();
tagTimeDefaultConfig.setTimeMode(TimeMode.LAST); tagTimeDefaultConfig.setTimeMode(TimeMode.LAST);
tagTimeDefaultConfig.setUnit(7); tagTimeDefaultConfig.setUnit(7);
tagTypeDefaultConfig.setTimeDefaultConfig(tagTimeDefaultConfig); detailTypeDefaultConfig.setTimeDefaultConfig(tagTimeDefaultConfig);
DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo(); DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo();
defaultDisplayInfo.setDimensionIds(Lists.newArrayList()); defaultDisplayInfo.setDimensionIds(Lists.newArrayList());
defaultDisplayInfo.setMetricIds(Lists.newArrayList()); defaultDisplayInfo.setMetricIds(Lists.newArrayList());
tagTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); detailTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo);
MetricTypeDefaultConfig metricTypeDefaultConfig = new MetricTypeDefaultConfig(); AggregateTypeDefaultConfig aggregateTypeDefaultConfig = new AggregateTypeDefaultConfig();
TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig(); TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig();
timeDefaultConfig.setTimeMode(TimeMode.RECENT); timeDefaultConfig.setTimeMode(TimeMode.RECENT);
timeDefaultConfig.setUnit(7); timeDefaultConfig.setUnit(7);
metricTypeDefaultConfig.setTimeDefaultConfig(timeDefaultConfig); aggregateTypeDefaultConfig.setTimeDefaultConfig(timeDefaultConfig);
queryConfig.setTagTypeDefaultConfig(tagTypeDefaultConfig); queryConfig.setDetailTypeDefaultConfig(detailTypeDefaultConfig);
queryConfig.setMetricTypeDefaultConfig(metricTypeDefaultConfig); queryConfig.setAggregateTypeDefaultConfig(aggregateTypeDefaultConfig);
dataSetReq.setQueryConfig(queryConfig); dataSetReq.setQueryConfig(queryConfig);
dataSetService.save(dataSetReq, User.getFakeUser()); dataSetService.save(dataSetReq, User.getFakeUser());
} }

View File

@@ -14,16 +14,8 @@ import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.TimeMode; import com.tencent.supersonic.common.pojo.enums.TimeMode;
import com.tencent.supersonic.common.pojo.enums.TypeEnums; import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.common.util.JsonUtil; import com.tencent.supersonic.common.util.JsonUtil;
import com.tencent.supersonic.headless.api.pojo.DataSetDetail; import com.tencent.supersonic.headless.api.pojo.*;
import com.tencent.supersonic.headless.api.pojo.DataSetModelConfig; import com.tencent.supersonic.headless.api.pojo.AggregateTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.Dim;
import com.tencent.supersonic.headless.api.pojo.DimensionTimeTypeParams;
import com.tencent.supersonic.headless.api.pojo.Identify;
import com.tencent.supersonic.headless.api.pojo.Measure;
import com.tencent.supersonic.headless.api.pojo.MetricTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.ModelDetail;
import com.tencent.supersonic.headless.api.pojo.QueryConfig;
import com.tencent.supersonic.headless.api.pojo.TimeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.enums.DimensionType; import com.tencent.supersonic.headless.api.pojo.enums.DimensionType;
import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType; import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType;
import com.tencent.supersonic.headless.api.pojo.request.DataSetReq; import com.tencent.supersonic.headless.api.pojo.request.DataSetReq;
@@ -285,12 +277,12 @@ public class DuSQLDemo extends S2BaseDemo {
dataSetReq.setDataSetDetail(dsDetail); dataSetReq.setDataSetDetail(dsDetail);
dataSetReq.setTypeEnum(TypeEnums.DATASET); dataSetReq.setTypeEnum(TypeEnums.DATASET);
QueryConfig queryConfig = new QueryConfig(); QueryConfig queryConfig = new QueryConfig();
MetricTypeDefaultConfig metricTypeDefaultConfig = new MetricTypeDefaultConfig(); AggregateTypeDefaultConfig aggregateTypeDefaultConfig = new AggregateTypeDefaultConfig();
TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig(); TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig();
timeDefaultConfig.setTimeMode(TimeMode.RECENT); timeDefaultConfig.setTimeMode(TimeMode.RECENT);
timeDefaultConfig.setUnit(1); timeDefaultConfig.setUnit(1);
metricTypeDefaultConfig.setTimeDefaultConfig(timeDefaultConfig); aggregateTypeDefaultConfig.setTimeDefaultConfig(timeDefaultConfig);
queryConfig.setMetricTypeDefaultConfig(metricTypeDefaultConfig); queryConfig.setAggregateTypeDefaultConfig(aggregateTypeDefaultConfig);
dataSetReq.setQueryConfig(queryConfig); dataSetReq.setQueryConfig(queryConfig);
dataSetService.save(dataSetReq, User.getFakeUser()); dataSetService.save(dataSetReq, User.getFakeUser());
} }

View File

@@ -10,16 +10,8 @@ import com.tencent.supersonic.chat.server.agent.LLMParserTool;
import com.tencent.supersonic.chat.server.agent.RuleParserTool; import com.tencent.supersonic.chat.server.agent.RuleParserTool;
import com.tencent.supersonic.common.pojo.enums.StatusEnum; import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums; import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.headless.api.pojo.DataSetDetail; import com.tencent.supersonic.headless.api.pojo.*;
import com.tencent.supersonic.headless.api.pojo.DataSetModelConfig; import com.tencent.supersonic.headless.api.pojo.DetailTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.DefaultDisplayInfo;
import com.tencent.supersonic.headless.api.pojo.Dim;
import com.tencent.supersonic.headless.api.pojo.Identify;
import com.tencent.supersonic.headless.api.pojo.Measure;
import com.tencent.supersonic.headless.api.pojo.MetricTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.ModelDetail;
import com.tencent.supersonic.headless.api.pojo.QueryConfig;
import com.tencent.supersonic.headless.api.pojo.TagTypeDefaultConfig;
import com.tencent.supersonic.headless.api.pojo.enums.DimensionType; import com.tencent.supersonic.headless.api.pojo.enums.DimensionType;
import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType; import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType;
import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType; import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType;
@@ -163,15 +155,15 @@ public class S2ArtistDemo extends S2BaseDemo {
dataSetReq.setDataSetDetail(dataSetDetail); dataSetReq.setDataSetDetail(dataSetDetail);
dataSetReq.setTypeEnum(TypeEnums.DATASET); dataSetReq.setTypeEnum(TypeEnums.DATASET);
QueryConfig queryConfig = new QueryConfig(); QueryConfig queryConfig = new QueryConfig();
TagTypeDefaultConfig tagTypeDefaultConfig = new TagTypeDefaultConfig(); DetailTypeDefaultConfig detailTypeDefaultConfig = new DetailTypeDefaultConfig();
DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo(); DefaultDisplayInfo defaultDisplayInfo = new DefaultDisplayInfo();
defaultDisplayInfo.setDimensionIds(dataSetModelConfigs.get(0).getDimensions()); defaultDisplayInfo.setDimensionIds(dataSetModelConfigs.get(0).getDimensions());
MetricResp jsPlayCntMetric = getMetric("js_play_cnt", singerModel); MetricResp jsPlayCntMetric = getMetric("js_play_cnt", singerModel);
defaultDisplayInfo.setMetricIds(Lists.newArrayList(jsPlayCntMetric.getId())); defaultDisplayInfo.setMetricIds(Lists.newArrayList(jsPlayCntMetric.getId()));
tagTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo); detailTypeDefaultConfig.setDefaultDisplayInfo(defaultDisplayInfo);
MetricTypeDefaultConfig metricTypeDefaultConfig = new MetricTypeDefaultConfig(); AggregateTypeDefaultConfig aggregateTypeDefaultConfig = new AggregateTypeDefaultConfig();
queryConfig.setTagTypeDefaultConfig(tagTypeDefaultConfig); queryConfig.setDetailTypeDefaultConfig(detailTypeDefaultConfig);
queryConfig.setMetricTypeDefaultConfig(metricTypeDefaultConfig); queryConfig.setAggregateTypeDefaultConfig(aggregateTypeDefaultConfig);
dataSetReq.setQueryConfig(queryConfig); dataSetReq.setQueryConfig(queryConfig);
DataSetResp dataSetResp = dataSetService.save(dataSetReq, User.getFakeUser()); DataSetResp dataSetResp = dataSetService.save(dataSetReq, User.getFakeUser());
return dataSetResp.getId(); return dataSetResp.getId();