是否可以通过 apache Flink 读取事件进入 S3 源存储桶并将其处理并下沉到其他 S3 存储桶?是否有特殊的连接器,或者我必须使用 Apache Flink 中提到的可用读取/保存示例? 在这种情况下,检查点是如何发生的,flink 会自动跟踪它从 S3 源存储桶读取的内容,还是需要构建自定义代码。flink 是否也保证在 S3 源情况下只处理一次。
在 Flink 1.11 中,文件系统 SQL 连接器得到了很大的改进;对于这个用例来说,这将是一个很好的解决方案。
借助 DataStream API,您可以将FileProcessingMode.PROCESS_CONTINUOUSLY
与readFile
一起使用,以监控存储桶并在以原子方式移动到存储桶中时摄取新文件。Flink 会跟踪存储桶的上次修改时间戳,并摄取自该时间戳以来修改的任何子项 - 以恰好一次的方式执行此操作(对这些文件的读取偏移量包含在检查点中(。