我正在使用从Kafka到HDFS的Flink存储桶。 Flink的版本是1.4.2。
我发现每次重新启动作业都会丢失一些数据,即使保存点也是如此。
我发现,如果我设置编写器SequenceFile.CompressionType.RECORD而不是SequenceFile.CompressionType.BLOCK,则可以解决此问题。似乎当Flink尝试保存检查点时,有效长度与实际长度不同,实际长度应包含压缩数据。
但是如果由于磁盘使用情况而无法使用CompressionType.BLOCK,则可能会出现问题。重新启动作业时如何使用块压缩防止数据丢失?
这是Flink的已知问题吗?还是有人知道如何解决这个问题?
答案 0 :(得分:1)
不再建议使用Flink的BucketingSink
。相反,社区建议使用Flink StreamingFileSink
引入的1.6.0
。