mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-13 13:07:32 +00:00
[improvement][headless]Rename metric and tag query type to aggregate and detail respectively.
This commit is contained in:
@@ -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 = {}
|
||||||
|
|||||||
@@ -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);
|
||||||
@@ -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());
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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}}";
|
||||||
|
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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 =
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user