flink流awss3并行读取多个文件

zpqajqem  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(788)

我是flink的新手,我的理解是遵循api调用

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

将为给定的s3 bucket路径并行读取文件。
我们正在s3中存储日志文件。需求是为多个客户机请求提供服务,以便从带有时间戳的不同文件夹中读取数据。
对于我的用例,为了满足多个客户机请求,我正在评估使用flink。所以我希望flink对不同的awss3文件路径执行awss3并行读取。
有没有可能实现这一点,在单一的Flink工作。有什么建议吗?

iecba09b

iecba09b1#

关于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);

相关问题