[
https://issues.apache.org/jira/browse/STORM-1040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15035182#comment-15035182
]
Milinda Lakmal Pathirage commented on STORM-1040:
-------------------------------------------------
+1 for [~julianhyde]'s idea to create a physical algebra for Storm. When
implementing initial prototype for Samza's streaming SQL implementation, I used
the visitor approach to generate the streaming topology. But later I migrated
to physical algebra [1] base approach (algebra related classes are still under
logical. I was planning to have to different algebras, but it looks like that
won't be necessary ) mainly due to reasons [~julianhyde] mentioned as well as
it makes it pretty straightforward to generate a execution plan. Also, this
makes the implementation cleaner and makes it easier to add custom validations,
etc (See [2]. [2] was implemented based on Drill's planner). Calcite also
comes with a pretty good java code generation utilities (they were really
useful to me), most probably it will be really helpful to your implementation
as well. They were really useful to me because I could re-use most of the code
generation logic related to operators, filters and projections.
[1]
https://github.com/milinda/samza-sql/tree/master/samza-sql-planner/src/main/java/org/apache/samza/sql/planner
[2]
https://github.com/milinda/samza-sql/blob/master/samza-sql-planner/src/main/java/org/apache/samza/sql/planner/QueryPlanner.java
> SQL support for Storm
> ---------------------
>
> Key: STORM-1040
> URL: https://issues.apache.org/jira/browse/STORM-1040
> Project: Apache Storm
> Issue Type: Epic
> Components: storm-sql
> Reporter: Haohui Mai
> Assignee: Haohui Mai
>
> SQL is one of the more popular languages in business intelligence. Instead of
> writing Storm topology directly, having supports to compile SQL down to
> topology will accelerate the development and deployment of real-time
> streaming solutions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)