【发布时间】:2016-08-23 14:31:11
【问题描述】:
我有一个AWS Kinesis Firehose 流将数据放入 s3 中,配置如下:
S3 buffer size (MB)* 2
S3 buffer interval (sec)* 60
一切正常。唯一的问题是 Firehose 为每个数据块创建一个 s3 文件。 (在我的情况下,每分钟一个文件,如屏幕截图所示)。随着时间的推移,这是很多文件:每天 1440 个文件,每年 525k 个文件。
这很难管理(例如,如果我想将存储桶复制到另一个存储桶,我需要一个一个地复制每个文件,这需要时间)。
两个问题:
- 有没有办法告诉 Kinesis 将旧文件组合/连接在一起。 (例如,超过 24 小时的文件每天被分组为一个块)。
- 当
COPYing 来自大量 s3 文件而不是少数几个时,COPY redshift 性能有何影响?我没有精确地测量过这个,但根据我的经验,很多小文件的性能要差得多。据我所知,使用大文件时,大约 2M 行的 COPY 大约需要 1 分钟。 2M 行包含大量小文件(约 11k 文件),最多需要 30 分钟。
我的两个主要担忧是:
- 更好的红移 COPY 性能(来自 s3)
- 更轻松的整体 s3 文件管理(备份、任何类型的操作)
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-redshift amazon-kinesis amazon-kinesis-firehose