Compile time checking of SQL

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Compile time checking of SQL

Sebastián Magrí
Is there any way to check SQL strings in compile time?

--
Sebastián Ramírez Magrí
Reply | Threaded
Open this post in threaded view
|

Re: Compile time checking of SQL

Timo Walther
Hi Sebastián,

what do you consider as compile time? If you mean some kind of SQL
editor, you could take a look at Ververica platform (the community
edition is free):

https://www.ververica.com/blog/data-pipelines-with-flink-sql-on-ververica-platform

Otherwise Flink SQL is always validated at (what we call) "pre-flight
phase". A cluster is not required but it is already JVM runtime of the
client.

Regards,
Timo

On 18.02.21 14:55, Sebastián Magrí wrote:
> Is there any way to check SQL strings in compile time?
>
> --
> Sebastián Ramírez Magrí

Reply | Threaded
Open this post in threaded view
|

Re: Compile time checking of SQL

Sebastián Magrí
I mean the SQL queries being validated when I do `mvn compile` or any target that runs that so that basic syntax checking is performed without having to submit the job to the cluster.

On Thu, 18 Feb 2021 at 16:17, Timo Walther <[hidden email]> wrote:
Hi Sebastián,

what do you consider as compile time? If you mean some kind of SQL
editor, you could take a look at Ververica platform (the community
edition is free):

https://www.ververica.com/blog/data-pipelines-with-flink-sql-on-ververica-platform

Otherwise Flink SQL is always validated at (what we call) "pre-flight
phase". A cluster is not required but it is already JVM runtime of the
client.

Regards,
Timo

On 18.02.21 14:55, Sebastián Magrí wrote:
> Is there any way to check SQL strings in compile time?
>
> --
> Sebastián Ramírez Magrí



--
Sebastián Ramírez Magrí
Reply | Threaded
Open this post in threaded view
|

Re: Compile time checking of SQL

Timo Walther
Yes, this is possible. You can run `tableEnv.sqlQuery("...").explain()`
or `tableEnv.toRetractStream(table)` which would trigger the complete
translation of the SQL query without executing it.

Regards,
Timo

On 20.02.21 18:46, Sebastián Magrí wrote:

> I mean the SQL queries being validated when I do `mvn compile` or any
> target that runs that so that basic syntax checking is performed without
> having to submit the job to the cluster.
>
> On Thu, 18 Feb 2021 at 16:17, Timo Walther <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Hi Sebastián,
>
>     what do you consider as compile time? If you mean some kind of SQL
>     editor, you could take a look at Ververica platform (the community
>     edition is free):
>
>     https://www.ververica.com/blog/data-pipelines-with-flink-sql-on-ververica-platform
>     <https://www.ververica.com/blog/data-pipelines-with-flink-sql-on-ververica-platform>
>
>     Otherwise Flink SQL is always validated at (what we call) "pre-flight
>     phase". A cluster is not required but it is already JVM runtime of the
>     client.
>
>     Regards,
>     Timo
>
>     On 18.02.21 14:55, Sebastián Magrí wrote:
>      > Is there any way to check SQL strings in compile time?
>      >
>      > --
>      > Sebastián Ramírez Magrí
>
>
>
> --
> Sebastián Ramírez Magrí

Reply | Threaded
Open this post in threaded view
|

Re: Compile time checking of SQL

Sebastián Magrí
Thanks a lot Timo!

On Mon, 22 Feb 2021 at 08:19, Timo Walther <[hidden email]> wrote:
Yes, this is possible. You can run `tableEnv.sqlQuery("...").explain()`
or `tableEnv.toRetractStream(table)` which would trigger the complete
translation of the SQL query without executing it.

Regards,
Timo

On 20.02.21 18:46, Sebastián Magrí wrote:
> I mean the SQL queries being validated when I do `mvn compile` or any
> target that runs that so that basic syntax checking is performed without
> having to submit the job to the cluster.
>
> On Thu, 18 Feb 2021 at 16:17, Timo Walther <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Hi Sebastián,
>
>     what do you consider as compile time? If you mean some kind of SQL
>     editor, you could take a look at Ververica platform (the community
>     edition is free):
>
>     https://www.ververica.com/blog/data-pipelines-with-flink-sql-on-ververica-platform
>     <https://www.ververica.com/blog/data-pipelines-with-flink-sql-on-ververica-platform>
>
>     Otherwise Flink SQL is always validated at (what we call) "pre-flight
>     phase". A cluster is not required but it is already JVM runtime of the
>     client.
>
>     Regards,
>     Timo
>
>     On 18.02.21 14:55, Sebastián Magrí wrote:
>      > Is there any way to check SQL strings in compile time?
>      >
>      > --
>      > Sebastián Ramírez Magrí
>
>
>
> --
> Sebastián Ramírez Magrí



--
Sebastián Ramírez Magrí