【问题标题】:Extend aws firehose stream buffering period延长 aws firehose 流缓冲期
【发布时间】:2019-03-19 15:59:17
【问题描述】:

我能否以某种方式将 firehose 流缓冲间隔的持续时间延长到 900 秒以上?在流式传输到 s3 15 分钟后,我正在处理大小约为 100kb 的小文件。我需要延长缓冲间隔或以其他方式每小时合并 4 个文件,最好的方法是什么?

我不想下载这些文件然后进行合并,因为有很多 firehose 流,所以只考虑 AWS 上的直接解决方案。

我已经阅读了很多与此问题相关的内容,但找不到任何有用的答案。

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda aws-sdk amazon-kinesis-firehose


    【解决方案1】:

    很遗憾,900 秒(15 分钟)是 Kinesis 等待缓冲时间的硬性限制。

    但是,如果您的数据移动缓慢,那么您可以自己处理每小时合并。

    一种方法是使用 lambda 函数,该函数计划每小时调用一次,列出目标存储桶中的文件,读取它们,合并它们,将它们写入“合并”存储桶/前缀然后删除合并的文件。

    或者,您可以在写入文件时调用 S3 消防软管存储桶上的 lambda 触发器。此触发器将读取该存储桶中的所有文件,并将它们合并。它的优点是您可以并行合并存储桶,并且无需等待一个小时即可合并文件。

    (您应该注意,在快速写入速度或列出大量文件时,S3 并不一致,因此如果您的数据速度增加到您每分钟写入多个文件的程度,这不是一个好的解决方案。)

    【讨论】:

      猜你喜欢
      • 2017-12-04
      • 2016-02-03
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多