我正在使用Flink 1.14.4,并且有一个广播状态的检查点非常大的问题。Flink文档说:
Flink为所有检查点和保存点提供可选压缩(默认:关闭)
然而,这个设置似乎不用于广播状态。我看到keyGroupCompressionDecorator
被HeapKeyedStateBackend
使用,而不是被HeapBroadcastState
使用。我还测试了w/打开压缩,它没有改变广播状态的大小。
我错过了什么,或者这是一个故意的限制,或者只是代码中的一个错误?
BroadcastState
是操作符状态,不是KeyedState
。参考文档引用KeyedState
:
压缩作用于键控状态下的键组粒度,
也许文档可以更明确地说明这个行为。
不幸的是,据我所知,没有对OperatorState进行压缩。我不是100%确定,但我相信它从来没有被实施过,因为我们不想投资它,因为在大多数情况下KeyedState
应该是首选。