You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "DONG, Weike" <ky...@connect.hku.hk> on 2018/01/06 02:33:49 UTC
Question on extending Calcite to support custom grammar
Hello everyone,
I am currently working on a project to extend the functionalities of SQL to
support more stream-computing features on Apache Flink which uses Calcite
to cope with SQL processing.
Currently the features provided by Calcite are not enough for my project
and I would like to know if there is a way to add custom grammar like
CREATE TABLE my_table (
id bigint,
user varchar(20)
) *PARAMS *(
connector 'kafka',
topic 'my_topic'
)
which uses something like *PARAMS *to define how to receive data from a
Kafka connector and treat it like a dynamic table as a data source to Flink.
Also, I would like to add features like "CREATE STREAM" statement in Amazon
Kinesis
<https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-create-stream.html>,
even though I know that this might be a tough task.
Since there is so little information about this on the Internet, I would
greatly appreciate it if someone of you could provide some hints or
anything useful.
Thank you : )
Sincerely,
Weike
Re: Question on extending Calcite to support custom grammar
Posted by Julian Hyde <jh...@gmail.com>.
What Michael said.
My intention when I created the server module is that people should use it as a starting point for their ddl extensions. Copy-paste what you need.
See http://calcite.apache.org/docs/adapter.html#server
Julian
> On Jan 6, 2018, at 12:16, Michael Mior <mm...@uwaterloo.ca> wrote:
>
> The core of Calcite doesn't contain any DDL but the recently-added server
> module has preliminary support for CREATE TABLE. See the commit which added
> this here (
> https://github.com/apache/calcite/commit/238b3225a2309a1a72bd1383b57982feaa2068e8).
> This likely won't do everything you need, but should be a good starting
> point.
>
> --
> Michael Mior
> mmior@apache.org
>
> 2018-01-05 21:33 GMT-05:00 DONG, Weike <ky...@connect.hku.hk>:
>
>> Hello everyone,
>>
>> I am currently working on a project to extend the functionalities of SQL to
>> support more stream-computing features on Apache Flink which uses Calcite
>> to cope with SQL processing.
>>
>> Currently the features provided by Calcite are not enough for my project
>> and I would like to know if there is a way to add custom grammar like
>>
>> CREATE TABLE my_table (
>> id bigint,
>> user varchar(20)
>> ) *PARAMS *(
>> connector 'kafka',
>> topic 'my_topic'
>> )
>>
>> which uses something like *PARAMS *to define how to receive data from a
>> Kafka connector and treat it like a dynamic table as a data source to
>> Flink.
>>
>> Also, I would like to add features like "CREATE STREAM" statement in Amazon
>> Kinesis
>> <https://docs.aws.amazon.com/kinesisanalytics/latest/
>> sqlref/sql-reference-create-stream.html>,
>> even though I know that this might be a tough task.
>>
>> Since there is so little information about this on the Internet, I would
>> greatly appreciate it if someone of you could provide some hints or
>> anything useful.
>>
>> Thank you : )
>>
>>
>> Sincerely,
>> Weike
>>
Re: Question on extending Calcite to support custom grammar
Posted by Michael Mior <mm...@uwaterloo.ca>.
The core of Calcite doesn't contain any DDL but the recently-added server
module has preliminary support for CREATE TABLE. See the commit which added
this here (
https://github.com/apache/calcite/commit/238b3225a2309a1a72bd1383b57982feaa2068e8).
This likely won't do everything you need, but should be a good starting
point.
--
Michael Mior
mmior@apache.org
2018-01-05 21:33 GMT-05:00 DONG, Weike <ky...@connect.hku.hk>:
> Hello everyone,
>
> I am currently working on a project to extend the functionalities of SQL to
> support more stream-computing features on Apache Flink which uses Calcite
> to cope with SQL processing.
>
> Currently the features provided by Calcite are not enough for my project
> and I would like to know if there is a way to add custom grammar like
>
> CREATE TABLE my_table (
> id bigint,
> user varchar(20)
> ) *PARAMS *(
> connector 'kafka',
> topic 'my_topic'
> )
>
> which uses something like *PARAMS *to define how to receive data from a
> Kafka connector and treat it like a dynamic table as a data source to
> Flink.
>
> Also, I would like to add features like "CREATE STREAM" statement in Amazon
> Kinesis
> <https://docs.aws.amazon.com/kinesisanalytics/latest/
> sqlref/sql-reference-create-stream.html>,
> even though I know that this might be a tough task.
>
> Since there is so little information about this on the Internet, I would
> greatly appreciate it if someone of you could provide some hints or
> anything useful.
>
> Thank you : )
>
>
> Sincerely,
> Weike
>