https://pinot.apache.org/ logo
r

Ravikumar Maddi

03/31/2021, 2:17 PM
I am trying JSON Indexing: I am able to see the data in the Query Console but. And I am fallowing "githubEvents" example in the Pinot Quick Starts applications provided with "incubator-pinot". I run query form query console:
Copy code
select exp from my_table WHERE JSON_MATCH(colunm1, 'att1=''Lab''')
But I am getting error
Copy code
[
  {
    "errorCode": 200,
    "message": "QueryExecutionError:\njava.lang.IllegalStateException: Cannot apply JSON_MATCH on column: column1 without json index\n\tat shaded.com.google.common.base.Preconditions.checkState(Preconditions.java:518)\n\tat org.apache.pinot.core.plan.FilterPlanNode.constructPhysicalOperator(FilterPlanNode.java:206)\n\tat org.apache.pinot.core.plan.FilterPlanNode.run(FilterPlanNode.java:80)\n\tat org.apache.pinot.core.plan.DocIdSetPlanNode.run(DocIdSetPlanNode.java:41)\n\tat org.apache.pinot.core.plan.ProjectionPlanNode.run(ProjectionPlanNode.java:52)\n\tat org.apache.pinot.core.plan.TransformPlanNode.run(TransformPlanNode.java:52)\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:294)\n\tat org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:215)\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:157)"
  }
]
My Table config appears like this:
Copy code
.
.
 "tableIndexConfig": {
    "loadMode": "MMAP",
    
 },
    "jsonIndexColumns": [
      "colunm1",
      "column2",
      "column3"
    ],
 
  "metadata": {
    "customConfigs": {}
  }
}
I fallowed quick start project, there, it declared like below way, and I tried that to but this time not even see data in my table in query console,
Copy code
.
.
 "tableIndexConfig": {
    "loadMode": "MMAP",
    "jsonIndexColumns": [
      "colunm1",
      "column2",
      "column3"
    ]
 },
  "metadata": {
    "customConfigs": {}
  }
}
Schema:
Copy code
.
.
.
"dimensionFieldSpecs": [
  {
    "name": "colunm1",
    "dataType": "STRING",
    "maxLength": 2147483647
  },
  {
    "name": "colunm2",
    "dataType": "STRING",
    "maxLength": 2147483647
  },

  {
    "name": "colunm3",
    "dataType": "STRING",
    "maxLength": 2147483647
  },
.
.
.
Need your help please 😇😇
r

Ravikumar Maddi

04/01/2021, 11:41 AM
Finally, I found the issue and resolved. In my data json i found [[ "some_value"]]. It is valid json only but looks Pinot won't support.