【问题标题】:Flink Streaming AWS S3 read multiple files in parallelFlink Streaming AWS S3 并行读取多个文件
【发布时间】:2017-12-23 05:18:56
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: amazon-s3 apache-flink flink-streaming flink-cep


    【解决方案1】:

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

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

    也可以使用类似(未经测试)的方式读取嵌套文件:

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

    【讨论】:

      猜你喜欢
      • 2019-10-27
      • 2017-04-25
      • 2023-01-24
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      相关资源
      最近更新 更多