Hey all, I’m looking into using Flink SQL for CDC ...
# random
f
Hey all, I’m looking into using Flink SQL for CDC and creating real time analytics databases. I can use the SQL cli, and that works fine for a demo. Now I’m looking into a more mature setup. I’d like a git repo containing the SQL queries, and then a CI/CD pipeline updating / deploying those to my Flink cluster, probably running using the new K8s operator. Before (badly) reinventing stuff, any pointers on where to start?
So to clarify, that CI/CD part is what I can’t seem to find. Taking a bunch of SQL queries (and possibly a UDF or two) and create something I can offer to the Flink k8s cluster
a
We implemented the entire thing: • We have a custom helm chart that deploys a FlinkDeployment with the
SqlRunner.jar
from the
examples
folder • We load the queries from the Helm’s values file The main challenge was to setup the image with all the dependencies, since we output to S3 through Hive, and setting Apache dependencies is a b*tch That being said, other than very specific very lean pipelines - we use the DataStream API.
You’ll find that day 2 operations are really hard in Table API
f
Ah cool. Yeah I figured creating the image is challenging.
I’m hoping that the day 2 operations are slightly better using the SQL api, I guess I am an optimist.
a
The main pain point is resuming from checkpoint. Since your application will probably be stateless - it shouldn't be a problem. Other concerns, like logging, monitoring and scaling are a breeze (as long as you remember that scaling requires a job restart).
f
Cool, this has helped me a lot. Thanks!
👍 1