从很多来源我计划使用 Amazon kinesis 来捕获流,并且在一定级别的数据转换之后,我想在某些表模式中将流定向到 Redshift Cluster。在这里我不确定这样做是否正确?
从 Kineis 文档中,我发现它们具有与红移的直接连接器。但是我还发现,如果我们进行批量上传,Redshift 看起来会更好,因为数据仓库系统需要索引。所以建议将所有流存储到 S3,然后 COPY 命令在 redshift 上进行批量推送。有人可以添加更多视图吗?
从很多来源我计划使用 Amazon kinesis 来捕获流,并且在一定级别的数据转换之后,我想在某些表模式中将流定向到 Redshift Cluster。在这里我不确定这样做是否正确?
从 Kineis 文档中,我发现它们具有与红移的直接连接器。但是我还发现,如果我们进行批量上传,Redshift 看起来会更好,因为数据仓库系统需要索引。所以建议将所有流存储到 S3,然后 COPY 命令在 redshift 上进行批量推送。有人可以添加更多视图吗?
当您使用 Kinesis 的连接器库时,您将通过 S3 和批量将数据推送到 Redshift。
确实,调用 INSERT INTO Redshift 效率不高,因为您通过单个领导节点发送所有数据,而不是使用从 S3 运行 COPY 时获得的 Redshift 并行能力。
由于 Kinesis 旨在每秒处理数千个事件,因此每隔几秒或几分钟运行一次 COPY 已经批量处理了数千条记录。
如果你想从 Kinesis 和 Redshift 中榨取汁液,你可以在调用 COPY 命令到 Redshift 之前,准确计算出你需要多少分片,你需要多少 Redshift 中的节点,以及你需要从 Kinesis 中积累多少 S3 中的临时文件.