kishoreg opened a new issue #4219: Support SQL in Pinot.
URL: https://github.com/apache/incubator-pinot/issues/4219
 
 
   While existing PQL is almost similar to SQL, it has some nuances that make 
it difficult for users to query pinot.  Our eventual goal should be able to 
support most of the sql features on a single table (excluding joins). This will 
allow tools such as superset, grafana, etc to be work seamlessly on top of 
Pinot.
   
   Currently, adding a new feature requires us to change pql grammar, broker 
request, and the execution layer. This means there is a high turn around time 
for each feature.
   
   The right end state would be - "change only the execution layer to add new 
features  - grammar and broker request should be complete and flexible".  I am 
proposing we move to calcite and leverage the full sql support and parser that 
comes with Calcite.
   
   Proposal
   
   - Create PinotQuery IDL(thrift)- this should represent the pql/sql. 
Additional information such as debugoptions should not be part of this IDL
   - Embed PinotQuery inside BrokerRequest.
   - AST Parser to convert PQL to PinotQuery
   
   For backward compatibility, populate old objects in BrokerRequest (selection 
aggregation groupby etc) from pinot query.
   
   
   - Change the execution layer to use BrokerRequest.pinotQuery
   - Introduce another endpoint that takes calcite sql and converts it into 
brokerrequest
   
   ![pql 2 
calcite](https://user-images.githubusercontent.com/850791/56936302-8aac2480-6aab-11e9-9d83-d88e42289ffe.png)
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to