Flink Streaming AWS S3 并行读取多个文件



我是 Flink 的新手,我的理解是遵循 API 调用

StreamExecutionEnvironment.getExecutionEnvironment().readFile(format, path)

将并行读取给定 S3 存储桶路径的文件。

我们将日志文件存储在 S3 中。要求是处理多个客户端请求,以从具有时间戳的不同文件夹中读取。

对于我的用例,为了满足多个客户端请求,我正在评估使用 Flink。所以我希望 Flink 针对不同的 AWS S3 文件路径并行执行 AWS S3 读取。

是否可以在单个 Flink 作业中实现这一点。有什么建议吗?

有关 S3 文件系统支持的文档可在此处找到。

您可以从不同的目录读取,并使用union()运算符将来自不同目录的所有记录合并到一个流中。

也可以使用类似(未经测试(的内容来读取嵌套文件:

TextInputFormat format = new TextInputFormat(path);
Configuration config = new Configuration();
config.setBoolean("recursive.file.enumeration", true);
format.configure(this.config);
env.readFile(format, path);

最新更新