Search code examples
apache-flinkflink-streamingflink-sql

Is there a way to query using SQL a running Flink job


I am new to Flink and trying to create a prototype that can do a continuous query as well as on-demand ones. The first part already works (with pre-defined queries), but struggling with the second. There is the SQL CLI that can be used. However, we want to be able to do this from a web endpoint.

I have seen Flink Jupyter notebook integrations which tells me this should work some way from a web interface. However, not sure how to do this without submitting an entire JAR each time.

So far, my research has lead me broadly to these two resources:

  1. There is an outstanding request to implement this. See https://cwiki.apache.org/confluence/display/FLINK/FLIP-24+-+SQL+Client and https://cwiki.apache.org/confluence/display/FLINK/FLIP-91%3A+Support+SQL+Client+Gateway

  2. There is an open source JDBC driver (have not tried this yet) - https://github.com/ververica/flink-jdbc-driver - not sure if this is maintained and says "This project is at an early stage".

Any suggestion on what else we can explore?


Solution

  • It's currently not supported in Flink itself. There are SQL clients offered by Ververica Platform, which is also available as a community edition. See https://www.ververica.com/apache-flink-sql-on-ververica-platform