Ankita,

Thanks for your question, and sorry it took me a while to respond.

You are correct that Calcite’s description of streaming SQL is ahead of its 
actual implementation (and in fact of any implementation that exists in other 
projects such as Samza, Storm and Flink). This is intentional: I want to build 
a consensus about streaming SQL’s capabilities and semantics and not be bound 
by what is currently implemented.

That said, there is an implementation in Calcite of basic streaming queries. 
See StreamTest (in the core module) and CsvTest.testCsvSteam (in the 
example/csv module). You can run these tests and see how streaming queries are 
parsed, validated, planned, and executed. (There’s no tutorial, but runnable 
code is IMHO better than a tutorial.)

As I mentioned, other projects have engines that can handle streaming queries. 
They use Calcite for SQL parsing and validation, and provide their own planning 
rules. Validating streaming SQL is, in my opinion, a tricky task to get right, 
so it is a big advantage that these projects can all re-use Calcite’s validator.

Julian

> On Jul 21, 2016, at 10:20 AM, Ankita Karandikar <[email protected]> 
> wrote:
> 
> Hi,
> 
> I wanted to try out Calcite for Streaming SQL, but I could not find any
> document available for it on the website.
> The document about streaming SQL does not provide a way to go and actually
> try it out.
> It just has queries. Where can I find the sample stream/tables mentioned in
> the tutorial for Streaming SQL?
> Could you please send me any document/tutorial available for this?
> 
> Thank you.
> 
> Regards,
> Ankita

Reply via email to