如何将流数据从Amazon Kinesis Data Firehose存储到s3存储桶

时间:2020-04-13 19:00:38

标签: amazon-s3 aws-lambda amazon-athena amazon-kinesis-firehose data-stream

我想改善当前的应用程序。我正在AWS中使用ElastiCache来使用Redis,以便从我的网站存储一些用户数据。

该解决方案不可扩展,我想使用Amazon Kinesis Data Firehose来扩展它的自动缩放流输出,使用AWS Lambda修改我的输入数据,将其存储在S3存储桶中,然后使用AWS Athena进行访问。

我已经搜索了好几天,但我真的不知道Amazon Kinesis Data Firehose如何在S3中存储数据。

Firehose会在每个处理的进程中将数据存储为单个文件,还是可以将数据添加到同一csv或将数据分组到不同的csv?

1 个答案:

答案 0 :(得分:1)

Amazon Kinesis Data Firehose将基于以下内容将数据分组到一个文件中:

  • 数据大小(例如5MB)
  • 持续时间(例如每5分钟一次)

首先达到限制的任何人都会触发Amazon S3中的数据存储。

因此,如果您需要近乎实时的报告,请持续一小段时间。否则,请使用较大的文件。

在Amazon S3中写入文件后,该文件将不可变,并且Kinesis不会修改其内容。 (不添加或修改对象。)