Shubham
04/29/2026, 6:18 AMShubham
04/29/2026, 6:19 AM{
"schemaName": "ModelScoreVariableTable",
"enableColumnBasedNullHandling": false,
"dimensionFieldSpecs": [
{
"name": "subjectId",
"dataType": "STRING",
"fieldType": "DIMENSION"
},
{
"name": "ekey",
"dataType": "STRING",
"fieldType": "DIMENSION"
},
{
"name": "intentName",
"dataType": "STRING",
"fieldType": "DIMENSION"
},
{
"name": "mscoreVar",
"dataType": "STRING",
"fieldType": "DIMENSION"
},
{
"name": "cevalDec",
"dataType": "STRING",
"fieldType": "DIMENSION"
},
{
"name": "vevalDec",
"dataType": "STRING",
"fieldType": "DIMENSION"
},
{
"name": "histBucket",
"dataType": "LONG",
"fieldType": "DIMENSION"
},
{
"name": "mscore",
"dataType": "LONG",
"fieldType": "DIMENSION"
},
{
"name": "cmscoreVar",
"dataType": "STRING",
"fieldType": "DIMENSION"
},
{
"name": "chistBucket",
"dataType": "LONG",
"fieldType": "DIMENSION"
},
{
"name": "mScoreRaw",
"dataType": "DOUBLE",
"fieldType": "DIMENSION"
},
{
"name": "cmScoreRaw",
"dataType": "DOUBLE",
"fieldType": "DIMENSION"
}
],
"metricFieldSpecs": [
{
"name": "count",
"dataType": "LONG",
"fieldType": "METRIC"
}
],
"dateTimeFieldSpecs": [
{
"name": "bucket_1hour",
"dataType": "LONG",
"fieldType": "DATE_TIME",
"format": "1:SECONDS:EPOCH",
"granularity": "1:SECONDS"
}
]
}Shubham
04/29/2026, 6:20 AM{
"REALTIME": {
"tableName": "ModelScoreVariableTable_REALTIME",
"tableType": "REALTIME",
"segmentsConfig": {
"timeColumnName": "bucket_1hour",
"timeType": "MILLISECONDS",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "90",
"minimizeDataMovement": false,
"replication": "1"
},
"tenants": {
"broker": "DefaultTenant",
"server": "DefaultTenant"
},
"tableIndexConfig": {
"autoGeneratedInvertedIndex": false,
"createInvertedIndexDuringSegmentGeneration": false,
"loadMode": "MMAP",
"noDictionarySizeRatioThreshold": 0.85,
"rangeIndexVersion": 2,
"jsonIndexColumns": [],
"enableDefaultStarTree": false,
"starTreeIndexConfigs": [
{
"dimensionsSplitOrder": [
"ekey",
"mscoreVar",
"intentName",
"vevalDec"
],
"functionColumnPairs": [
"SUM__count"
],
"maxLeafRecords": 100000
},
{
"dimensionsSplitOrder": [
"ekey",
"cevalDec",
"vevalDec",
"intentName"
],
"functionColumnPairs": [
"DISTINCTCOUNT__subjectId"
],
"maxLeafRecords": 100000
},
{
"dimensionsSplitOrder": [
"ekey",
"cmscoreVar"
],
"functionColumnPairs": [
"SUM__count"
],
"maxLeafRecords": 100000
}
],
"enableDynamicStarTreeCreation": false,
"aggregateMetrics": true,
"nullHandlingEnabled": false,
"columnMajorSegmentBuilderEnabled": true,
"skipSegmentPreprocess": false,
"optimizeNoDictStatsCollection": false,
"optimizeDictionary": false,
"optimizeDictionaryForMetrics": false,
"optimizeDictionaryType": false,
"invertedIndexColumns": [
"ekey",
"cevalDec",
"vevalDec"
],
"noDictionaryColumns": [
"bucket_1hour",
"count",
"mScoreRaw",
"cmScoreRaw"
],
"sortedColumn": [
"mscoreVar"
],
"bloomFilterColumns": [
"mscoreVar",
"ekey"
],
"onHeapDictionaryColumns": [],
"rangeIndexColumns": [],
"varLengthDictionaryColumns": [
"mscoreVar",
"ekey",
"cevalDec",
"cmscoreVar",
"subjectId",
"vevalDec",
"intentName"
]
},
"metadata": {},
"ingestionConfig": {
"transformConfigs": [
{
"columnName": "bucket_1hour",
"transformFunction": "toEpochSecondsRounded(comTim, 3600)"
},
{
"columnName": "histBucket",
"transformFunction": "FLOOR(MULT(mscore, 1000))"
},
{
"columnName": "chistBucket",
"transformFunction": "FLOOR(MULT(cmScore, 1000))"
},
{
"columnName": "mScoreRaw",
"transformFunction": "mscore"
},
{
"columnName": "cmScoreRaw",
"transformFunction": "cmScore"
},
{
"columnName": "cmscoreVar",
"transformFunction": "cmScoreVar"
}
],
"continueOnError": false,
"retryOnSegmentBuildPrecheckFailure": false,
"rowTimeValueCheck": false,
"segmentTimeValueCheck": true,
"ingestionExceptionLogRateLimitPerMin": 5,
"maxConsecutiveRecordFetchFailuresAllowed": 0,
"streamIngestionConfig": {
"streamConfigMaps": [
{
"streamType": "kafka",
"stream.kafka.topic.name": "ModelScoreVariableTopic",
"stream.kafka.broker.list": "b2-piper-msk-prod-us-east-1.react.ctps.amazon.dev:9002,b4-piper-msk-prod-us-east-1.react.ctps.amazon.dev:9004,b3-piper-msk-prod-us-east-1.react.ctps.amazon.dev:9003",
"stream.kafka.consumer.type": "lowlevel",
"stream.kafka.consumer.numThreads": "4",
"stream.kafka.consumer.prop.auto.offset.reset": "smallest",
"stream.kafka.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kafka20.KafkaConsumerFactory",
"stream.kafka.decoder.class.name": "org.apache.pinot.plugin.stream.kafka.KafkaJSONMessageDecoder",
"realtime.segment.flush.threshold.time": "1h",
"realtime.segment.flush.threshold.segment.size": "75M",
"security.protocol": "SASL_SSL",
"sasl.mechanism": "SCRAM-SHA-512",
"group.id": "msk_consumer",
"ssl.endpoint.identification.algorithm": "",
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"******\" password=\"*******\";"
}
],
"columnMajorSegmentBuilderEnabled": true,
"trackFilteredMessageOffsets": false,
"pauselessConsumptionEnabled": false,
"enforceConsumptionInOrder": false,
"useIdealStateToCalculatePreviousSegment": false,
"disasterRecoveryMode": "DEFAULT",
"dropRecordOnPartitionMismatch": false
}
},
"isDimTable": false
}
}Shubham
04/29/2026, 6:21 AMXiang Fu
Shubham
04/29/2026, 6:24 AMXiang Fu
Xiang Fu
ekey filtering , e.g.
SELECT COUNT(subjectId) AS Count
FROM ModelScoreVariableTable
WHERE ekey = 'ee801a97-aae1-490d-ac7f-d5556060f758'Shubham
04/29/2026, 6:38 AM225043706Xiang Fu
cevalDec, vevalDecShubham
04/29/2026, 6:42 AMXiang Fu
DISTINCTCOUNTRAWHLLPLUS may help
DISTINCTCOUNTRAWHLLPLUS => ~0.81% default RSE
DISTINCTCOUNTRAWCPCSKETCH => ~1% default-ish
DISTINCTCOUNTRAWTHETASKETCH => ~1.56% default
DISTINCTCOUNTRAWHLL => ~6.5% defaultXiang Fu
cevalDec, vevalDec are low cardinality then it's possible to use inverted index to compute the group by, but thats not in open source