Luis Fernandez
07/26/2022, 5:07 PMMayank
Luis Fernandez
07/26/2022, 5:12 PMselect * from query_metrics_dev
where `timestamp`=0 limit 10
Luis Fernandez
07/26/2022, 5:12 PMLuis Fernandez
07/26/2022, 5:19 PMMayank
Luis Fernandez
07/26/2022, 5:20 PMMayank
Luis Fernandez
07/26/2022, 5:21 PMLuis Fernandez
07/26/2022, 5:22 PMselect timestamp from query_metrics_dev limit 10
Luis Fernandez
07/26/2022, 5:22 PMLuis Fernandez
07/26/2022, 5:22 PMProcessingException(errorCode:150, message:PQLParsingError:
org.apache.pinot.sql.parsers.SqlCompilationException: Caught exception while parsing query: select timestamp from query_metrics_dev limit 10
at org.apache.pinot.sql.parsers.CalciteSqlParser.compileCalciteSqlToPinotQuery(CalciteSqlParser.java:334)
at org.apache.pinot.sql.parsers.CalciteSqlParser.compileToPinotQuery(CalciteSqlParser.java:133)
at org.apache.pinot.sql.parsers.CalciteSqlCompiler.compileToBrokerRequest(CalciteSqlCompiler.java:35)
at org.apache.pinot.controller.api.resources.PinotQueryResource.getQueryResponse(PinotQueryResource.java:166)
...
Caused by: org.apache.calcite.sql.parser.SqlParseException: Encountered "timestamp from" at line 1, column 8.
Was expecting one of:
"/*+" ...
"/*+" "UNION" ...
"/*+" "INTERSECT" ...
...
Caused by: org.apache.calcite.sql.parser.babel.ParseException: Encountered "timestamp from" at line 1, column 8.
Was expecting one of:
"/*+" ...
"/*+" "UNION" ...
"/*+" "INTERSECT" ...)
Mayank
Luis Fernandez
07/26/2022, 5:23 PMLuis Fernandez
07/26/2022, 5:24 PMLuis Fernandez
07/26/2022, 5:24 PMselect * from query_metrics_dev
where "timestamp"=0 limit 10
Luis Fernandez
07/26/2022, 5:24 PMMayank
Luis Fernandez
07/26/2022, 5:26 PMselect "timestamp" as a, user_id from query_metrics_dev
where a=0 limit 10
Luis Fernandez
07/26/2022, 5:26 PMMayank
Mayank
select "timestamp"
returnsLuis Fernandez
07/26/2022, 5:28 PMLuis Fernandez
07/26/2022, 5:34 PMLuis Fernandez
07/26/2022, 5:34 PMtimestamp user_id
0 32086606
0 16806149
Mayank
Mayank
where "timestamp" != 0
Mayank
Luis Fernandez
07/26/2022, 5:50 PMLuis Fernandez
07/26/2022, 5:50 PMLuis Fernandez
07/26/2022, 5:50 PMLuis Fernandez
07/26/2022, 5:51 PMLuis Fernandez
07/26/2022, 5:51 PMLuis Fernandez
07/26/2022, 5:51 PMMayank
Luis Fernandez
07/26/2022, 5:54 PMLuis Fernandez
07/26/2022, 5:54 PMJackie
07/26/2022, 5:54 PMtimestamp
column as time column?Luis Fernandez
07/26/2022, 5:54 PMJackie
07/26/2022, 5:55 PMLuis Fernandez
07/26/2022, 5:56 PM0.10.0
Jackie
07/26/2022, 5:56 PMtimestamp
a LONG
field?Luis Fernandez
07/26/2022, 5:57 PMJackie
07/26/2022, 5:57 PM0
as the time value because it is not within the valid time range (Pinot allows time from 1971 so that we can catch wrong time config)Jackie
07/26/2022, 5:58 PMLuis Fernandez
07/26/2022, 5:58 PMLuis Fernandez
07/26/2022, 5:58 PMLuis Fernandez
07/26/2022, 5:59 PMLuis Fernandez
07/26/2022, 5:59 PMJackie
07/26/2022, 6:00 PMLuis Fernandez
07/26/2022, 6:01 PMLuis Fernandez
07/26/2022, 6:01 PMJackie
07/26/2022, 6:02 PMJackie
07/26/2022, 6:03 PMJackie
07/26/2022, 6:03 PMLuis Fernandez
07/26/2022, 6:06 PMLuis Fernandez
07/26/2022, 6:06 PM{
"schemaName": "query_metrics_dev",
"dimensionFieldSpecs": [
{
"name": "user_id",
"dataType": "LONG"
},
{
"name": "product_id",
"dataType": "LONG"
},
{
"name": "title_phrases",
"dataType": "STRING",
"singleValueField": false
},
{
"name": "tags",
"dataType": "STRING",
"singleValueField": false
},
{
"name": "stemmed_query",
"dataType": "STRING"
}
],
"metricFieldSpecs": [
{
"name": "impression_count",
"dataType": "INT"
},
{
"name": "click_count",
"dataType": "INT"
},
{
"name": "order_count",
"dataType": "INT"
}
],
"dateTimeFieldSpecs": [
{
"name": "timestamp",
"dataType": "LONG",
"format": "1:SECONDS:EPOCH",
"granularity": "1:HOURS"
}
]
}
Luis Fernandez
07/26/2022, 6:08 PM{
"REALTIME": {
"tableName": "query_metrics_dev_REALTIME",
"tableType": "REALTIME",
"segmentsConfig": {
"schemaName": "query_metrics_dev",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "2",
"replication": "1",
"timeColumnName": "timestamp",
"allowNullTimeValue": false,
"replicasPerPartition": "1"
},
"tenants": {
"broker": "DefaultTenant",
"server": "DefaultTenant",
"tagOverrideConfig": {
"realtimeCompleted": "DefaultTenant_OFFLINE"
}
},
"tableIndexConfig": {
"invertedIndexColumns": [],
"noDictionaryColumns": [
"click_count",
"order_count",
"impression_count",
"tags",
"title_phrases",
"stemmed_query"
],
"streamConfigs": {
"streamType": "kafka",
"stream.kafka.topic.name": "topic",
"stream.kafka.broker.list": "kafka-broker",
"stream.kafka.consumer.type": "lowlevel",
"stream.kafka.consumer.prop.auto.offset.reset": "largest",
"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.rows": "0",
"realtime.segment.flush.threshold.time": "24h",
"realtime.segment.flush.segment.size": "250M"
},
"rangeIndexColumns": [
"timestamp"
],
"rangeIndexVersion": 2,
"autoGeneratedInvertedIndex": false,
"createInvertedIndexDuringSegmentGeneration": false,
"sortedColumn": [
"user_id"
],
"bloomFilterColumns": [
"user_id",
"product_id"
],
"loadMode": "MMAP",
"onHeapDictionaryColumns": [],
"varLengthDictionaryColumns": [],
"enableDefaultStarTree": false,
"enableDynamicStarTreeCreation": false,
"aggregateMetrics": true,
"nullHandlingEnabled": false
},
"metadata": {},
"quota": {},
"task": {
"taskTypeConfigsMap": {
"RealtimeToOfflineSegmentsTask": {
"bucketTimePeriod": "1d",
"bufferTimePeriod": "2d",
"roundBucketTimePeriod": "1h",
"mergeType": "concat",
"maxNumRecordsPerSegment": "5000000"
}
}
},
"query": {},
"fieldConfigList": [],
"ingestionConfig": {},
"isDimTable": false
}
}
Jackie
07/26/2022, 6:10 PM"timeColumnName": "timestamp",
"allowNullTimeValue": false,
Jackie
07/26/2022, 6:11 PM0
timestamp is ingested, it should throw exceptionLuis Fernandez
07/26/2022, 6:12 PMLuis Fernandez
07/26/2022, 6:12 PMLuis Fernandez
07/26/2022, 6:12 PMJackie
07/26/2022, 6:13 PMtimestamp
column is the same as using null
as the valueJackie
07/26/2022, 6:14 PM0.11.0
), if timestamp is not provided, we will fill it with the ingestion timestampLuis Fernandez
07/26/2022, 6:14 PM