我是Flink的新手,我的理解是遵循API调用
StreamExecutionEnvironment.getExecutionEnvironment().readFile(format, path)将并行读取给定S3存储桶路径的文件。
我们将日志文件存储在S3中。要求是为多个客户端请求提供服务,以便使用时间戳从不同的文件夹读取数据。
对于我的用例,为了服务多个客户端请求,我正在评估使用Flink。因此,我希望Flink为不同的亚马逊网络服务S3文件路径并行执行亚马逊网络服务S3读取。
是否有可能在单个Flink作业中实现这一点。有什么建议吗?
发布于 2017-07-18 23:28:18
可以在here中找到有关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);https://stackoverflow.com/questions/45165084
复制相似问题