Kamal Chavda
10/05/2021, 7:18 PMjava.lang.IllegalStateException: Cannot read single-value from Collection: [AQEAACDmEAAA5no2BviTXcB1T2ijhAxBQA==, 4326] for column: point
at shaded.com.google.common.base.Preconditions.checkState(Preconditions.java:721) ~[pinot-all-0.7.1-jar-with-dependencies.jar:0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed]
at org.apache.pinot.core.data.recordtransformer.DataTypeTransformer.standardizeCollection(DataTypeTransformer.java:193) ~[pinot-all-0.7.1-jar-with-dependencies.jar:0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed]
at org.apache.pinot.core.data.recordtransformer.DataTypeTransformer.standardize(DataTypeTransformer.java:138) ~[pinot-all-0.7.1-jar-with-dependencies.jar:0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed]
at org.apache.pinot.core.data.recordtransformer.DataTypeTransformer.transform(DataTypeTransformer.java:88) ~[pinot-all-0.7.1-jar-with-dependencies.jar:0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed]
at org.apache.pinot.core.data.recordtransformer.CompositeTransformer.transform(CompositeTransformer.java:82) ~[pinot-all-0.7.1-jar-with-dependencies.jar:0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed]
at org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.processStreamEvents(LLRealtimeSegmentDataManager.java:491) [pinot-all-0.7.1-jar-with-dependencies.jar:0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed]
at org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.consumeLoop(LLRealtimeSegmentDataManager.java:402) [pinot-all-0.7.1-jar-with-dependencies.jar:0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed]
at org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager$PartitionConsumer.run(LLRealtimeSegmentDataManager.java:538) [pinot-all-0.7.1-jar-with-dependencies.jar:0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_282]
The point column has this as value:
"point" : {
"wkb" : "AQEAACDmEAAA5no2BviTXcB1T2ijhAxBQA==",
"srid" : 4326
},
Any suggestions on how to resolve? I have the column as string in the Pinot table schema.Jackie
10/05/2021, 11:06 PMJackie
10/05/2021, 11:07 PMYupeng Fu
10/05/2021, 11:10 PMST_GeogFromWKB from https://docs.pinot.apache.org/basics/indexing/geospatial-support#constructorsJackie
10/05/2021, 11:21 PMbase64Decode() function. See https://docs.pinot.apache.org/developers/advanced/ingestion-level-transformations on how to use ingestion transformsKamal Chavda
10/06/2021, 4:33 PM{
"schemaName": "table",
"primaryKeyColumns": [
"id"
],
"dimensionFieldSpecs": [
{
"name": "id",
"dataType": "LONG"
},
{
"name": "title",
"dataType": "STRING"
},
{
"name": "state",
"dataType": "STRING"
},
{
"name": "latitude",
"dataType": "DOUBLE",
"defaultValue": 0
},
{
"name": "longitude",
"dataType": "DOUBLE",
"defaultValue": 0
},
{
"name": "point",
"dataType": "STRING",
"defaultValue": ""
},
{
"dataType": "BYTES",
"name": "location_st_point",
"transformFunction": "toSphericalGeography(<not sure what goes here>(point))"
}
],
"metricFieldSpecs": [
{
"name": "amount",
"dataType": "DOUBLE",
"defaultNullValue": 0
}
],
"dateTimeFieldSpecs": [
{
"name": "created_at",
"dataType": "LONG",
"format": "1:MILLISECONDS:EPOCH",
"granularity": "1:MILLISECONDS"
}
]
}Kamal Chavda
10/08/2021, 3:55 PMKamal Chavda
10/12/2021, 2:23 PMselect toGeometry(base64Decode('AQEAACDmEAAAT0wojs27YsA0a4TZX5hOQA==')) from meetupRsvp limit 10Jackie
10/12/2021, 6:02 PMKamal Chavda
10/12/2021, 6:05 PMGetting Helix leader: 172.22.0.5_9000, Helix version: 0.9.8, mtime: 1633982847545
pinot_1 | Caught exception while compiling SQL query: select toGeometry(base64Decode('AQEAACDmEAAAT0wojs27YsA0a4TZX5hOQA=='))from meetupRsvp limit 10
pinot_1 | org.apache.pinot.sql.parsers.SqlCompilationException: Caught exception while invoking method: public static byte[] org.apache.pinot.core.geospatial.transform.function.ScalarFunctions.toGeometry(byte[]) with arguments: [[B@1e36f6bb]
pinot_1 | at org.apache.pinot.sql.parsers.CalciteSqlParser.invokeCompileTimeFunctionExpression(CalciteSqlParser.java:1116) ~[pinot-all-0.8.0-jar-with-dependencies.jar:0.8.0-c4ceff06d21fc1c1b88469a8dbae742a4b609808]
pinot_1 | at org.apache.pinot.sql.parsers.CalciteSqlParser.invokeCompileTimeFunctions(CalciteSqlParser.java:578) ~[pinot-all-0.8.0-jar-with-dependencies.jar:0.8.0-c4ceff06d21fc1c1b88469a8dbae742a4b609808]
pinot_1 | at org.apache.pinot.sql.parsers.CalciteSqlParser.queryRewrite(CalciteSqlParser.java:395) ~[pinot-all-0.8.0-jar-with-dependencies.jar:0.8.0-c4ceff06d21fc1c1b88469a8dbae742a4b609808]
pinot_1 | at org.apache.pinot.sql.parsers.CalciteSqlParser.compileCalciteSqlToPinotQuery(CalciteSqlParser.java:389) ~[pinot-all-0.8.0-jar-with-dependencies.jar:0.8.0-c4ceff06d21fc1c1b88469a8dbae742a4b609808]
pinot_1 | at org.apache.pinot.sql.parsers.CalciteSqlParser.compileToPinotQuery(CalciteSqlParser.java:108) ~[pinot-all-0.8.0-jar-with-dependencies.jar:0.8.0-c4ceff06d21fc1c1b88469a8dbae742a4b609808]
pinot_1 | at org.apache.pinot.sql.parsers.CalciteSqlCompiler.compileToBrokerRequest(CalciteSqlCompiler.java:35) ~[pinot-all-0.8.0-jar-with-dependencies.jar:0.8.0-c4ceff06d21fc1c1b88469a8dbae742a4b609808]
pinot_1 | at org.apache.pinot.controller.api.resources.PinotQueryResource.getQueryResponse(PinotQueryResource.java:166) ~[pinot-all-0.8.0-jar-with-dependencies.jar:0.8.0-c4ceff06d21fc1c1b88469a8dbae742a4b609808]
pinot_1 | at org.apache.pinot.controller.api.resources.PinotQueryResource.handlePostSql(PinotQueryResource.java:137) ~[pinot-all-0.8.0-jar-with-dependencies.jar:0.8.0-c4ceff06d21fc1c1b88469a8dbae742a4b609808]
pinot_1 | at jdk.internal.reflect.GeneratedMethodAccessor260.invoke(Unknown Source) ~[?:?]
pinot_1 | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
pinot_1 | at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]Kamal Chavda
10/12/2021, 6:07 PMJackie
10/12/2021, 6:55 PMJackie
10/12/2021, 6:58 PMGeometrySerializer.serialize() because we encode the type as the first byte?Kamal Chavda
10/12/2021, 7:09 PMKamal Chavda
10/12/2021, 7:11 PM"toSphericalGeography(stPoint(longitude,latitude))"
in my schema just fine and able to add geo index on it.Yupeng Fu
10/12/2021, 10:37 PMST_GeomFromWKB can convert from regular bytes in wkbKamal Chavda
10/13/2021, 5:25 PMselect ST_GeomFromWKB(base64Decode('AQEAACDmEAAAT0wojs27YsA0a4TZX5hOQA==')) from meetupRsvp limit 10
and this
select ST_GeomFromWKB('AQEAACDmEAAAT0wojs27YsA0a4TZX5hOQA==') from meetupRsvp limit 10
both give errors.Yupeng Fu
10/13/2021, 5:42 PMKamal Chavda
10/13/2021, 5:43 PM[
{
"message": "QueryExecutionError:\norg.apache.pinot.spi.exception.BadQueryRequestException: Caught exception while initializing transform function: stgeomfromwkb\n\tat org.apache.pinot.core.operator.transform.function.TransformFunctionFactory.get(TransformFunctionFactory.java:207)\n\tat org.apache.pinot.core.operator.transform.TransformOperator.<init>(TransformOperator.java:56)\n\tat org.apache.pinot.core.plan.TransformPlanNode.run(TransformPlanNode.java:56)\n\tat org.apache.pinot.core.plan.SelectionPlanNode.run(SelectionPlanNode.java:83)\n\tat org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:100)\n\tat org.apache.pinot.core.plan.InstanceResponsePlanNode.run(InstanceResponsePlanNode.java:33)\n\tat org.apache.pinot.core.plan.GlobalPlanImplV0.execute(GlobalPlanImplV0.java:45)\n\tat org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:296)\n\tat org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:216)\n\tat org.apache.pinot.core.query.executor.QueryExecutor.processQuery(QueryExecutor.java:60)\n\tat org.apache.pinot.core.query.scheduler.QueryScheduler.processQueryAndSerialize(QueryScheduler.java:155)\n\tat org.apache.pinot.core.query.scheduler.QueryScheduler.lambda$createQueryFutureTask$0(QueryScheduler.java:139)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)",
"errorCode": 200
}
]Yupeng Fu
10/13/2021, 6:00 PMJackie
10/13/2021, 6:56 PMJackie
10/13/2021, 6:56 PMYupeng Fu
10/13/2021, 8:11 PMJackie
10/13/2021, 8:59 PMYupeng Fu
10/13/2021, 9:00 PMselect ST_GeomFromWKB('AQEAACDmEAAAT0wojs27YsA0a4TZX5hOQA==') from meetupRsvp limit 10 , that failed too?Jackie
10/13/2021, 9:04 PMYupeng Fu
10/13/2021, 9:07 PM