You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Joel Bernstein (JIRA)" <ji...@apache.org> on 2016/07/15 00:31:20 UTC

[jira] [Comment Edited] (SOLR-8593) Integrate Apache Calcite into the SQLHandler

    [ https://issues.apache.org/jira/browse/SOLR-8593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15378665#comment-15378665 ] 

Joel Bernstein edited comment on SOLR-8593 at 7/15/16 12:31 AM:
----------------------------------------------------------------

The CoGroup operator is interesting. Solr's Streaming Expressions provide some similar operations (https://cwiki.apache.org/confluence/display/solr/Streaming+Expressions). CoGroup seems similar to a rollup() function wrapped around a join in Streaming Exrpressions. Psuedo-code:
{code}
 rollup(sum(x),
       over="y",
       innerJoin(on="a=b",
                   search(...), 
                   search(...))) 
{code}


Our basic strategy is to build up a Streaming Expressions that implements Calcites relational algebra. We've done this already with the Presto parser, but without joins.  

Looking forward to diving deeper into Calcite.


was (Author: joel.bernstein):
The CoGroup operator is interesting. Solr's Streaming Expressions provide some similar operations (https://cwiki.apache.org/confluence/display/solr/Streaming+Expressions). CoGroup seems similar to a rollup() function wrapped around a join in Streaming Exrpressions. Psuedo-code:
{code}
 rollup(sum(x),
           over="y",
           innerJoin(on="a=b",
                           search(...), 
                           search(...))) 
{code}


Our basic strategy is to build up a Streaming Expressions that implements Calcites relational algebra. We've done this already with the Presto parser, but without joins.  

Looking forward to diving deeper into Calcite.

> Integrate Apache Calcite into the SQLHandler
> --------------------------------------------
>
>                 Key: SOLR-8593
>                 URL: https://issues.apache.org/jira/browse/SOLR-8593
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Joel Bernstein
>
> The Presto SQL Parser was perfect for phase one of the SQLHandler. It was nicely split off from the larger Presto project and it did everything that was needed for the initial implementation.
> Phase two of the SQL work though will require an optimizer. Here is where Apache Calcite comes into play. It has a battle tested cost based optimizer and has been integrated into Apache Drill and Hive.
> This work can begin in trunk following the 6.0 release. The final query plans will continue to be translated to Streaming API objects (TupleStreams), so continued work on the JDBC driver should plug in nicely with the Calcite work.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org