Flink QueryConfig 是什么?
官网解释:https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/table/streaming/query_configuration.html
简单点来说其实 QueryCofig 配置查询规则的一个接口,这个接口本身有两个实现类 分别是对应无界流的 StreamQueryConfig 和,对应有界流的BatchQueryCofig ,细心的同学会发现 在StreamQueryConfig中只是简单的定义了2个属性值和对应的两个Get和一个Set 方法,而在BatchQueryConfig 中,只是实现了 QueryConfig 接口,但是里面没有实现任何方法,为什么呢?下面我们来重点讨论这个问题
QueryConfig 只要分两种形式
BatchQueryConfig
对于BatchQueryConfig 的意义并不大,这主要是和我们的实际生产业务有关,大家都知道Flink在做流式计算的时候最能体现它性能上的优势,QueryConfig 这个配置本身就是为了解决在连续查询的处理过程中所要维护的状态越来越大,这样会持续不断的消耗内存,所有我们一定要限制所需具体维护的状态的大小,而在批处理中这种问题是不存在的,之所以存在实现类BatchQueryConfig,想必是未来可能能够通过这个类来解决一些批处理中的问题而做的一个铺垫,这里我们不做过多的解释。