flink检查点卡在坏文件上

时间:2018-02-06 22:37:43

标签: apache-flink flink-streaming

我是flink(1.3.2)的新手,我有一个问题,想知道是否有人可以在这里提供帮助。

因此我们有一条s3路径,flink正在监视该路径以查看可用的新文件。

val avroInputStream_activity = env.readFile(format, path, FileProcessingMode.PROCESS_CONTINUOUSLY, 10000)  

我正在进行内部和外部检查指向,并且假设有一个错误的文件进入路径并且flink将进行多次重试。我想将这些错误的文件带到一些错误文件夹,然后继续进行。但是,由于文件路径在检查点中持久存在,当我尝试从外部检查点恢复时(我删除了坏文件),它在没有找到文件时抛出以下错误。

java.io.IOException: Error opening the Input Split s3a://myfile [0,904]: No such file or directory: s3a://myfile

我在这里有两个问题:

  1. 人们如何处理坏文件或记录等异常。
  2. 有没有办法跳过这个错误的文件并从检查点继续?
  3. 提前致谢。

1 个答案:

答案 0 :(得分:0)

最佳做法是通过捕获任何异常(例如由输入数据错误导致的异常)来保持作业运行。然后,您可以使用side outputs创建仅包含错误记录的输出流。例如,您可以将它们发送到bucketing file sink进行进一步分析。