我可以使用Amazon Kinesis连接到amazon redshift,以便在每隔几分钟内加载数据

时间:2014-06-14 13:49:09

标签: amazon-redshift amazon-kinesis

从许多来源我计划使用Amazon kinesis来捕获流,并且在某些级别的数据转换之后,我想在一些表模式中将流引导到Redshift Cluster。在这里,我不确定这样做是否正确?

从Kineis文档中我发现他们有直接连接到redshift。但是我也发现,如果我们采用批量上传,Redshift看起来更好,因为数据仓库系统需要索引。因此建议将所有流存储到S3,然后再使用COPY命令将批量推送到红移。有人可以加一些观点吗?

1 个答案:

答案 0 :(得分:2)

当您使用Kinesis的连接器库时,您将通过S3和批处理将数据推送到Redshift。

确实调用INSERT INTO Redshift效率不高,因为您通过单个领导节点发送所有数据,而不是使用从S3运行COPY时获得的Redshift并行功能。

由于Kinesis旨在每秒处理数千个事件,因此每隔几秒或几分钟运行一次COPY就会批量处理数千条记录。

如果你想从Kinesis和Redshift中挤出果汁,你可以在调用COPY之前准确计算出你需要多少个分片,你需要Redshift中有多少个节点以及你需要从Kinisis累积多少个S3中的临时文件命令Redshift。