从 dynamodb 复制到 s3
Posted
技术标签:
【中文标题】从 dynamodb 复制到 s3【英文标题】:Copy from dynamodb to s3 【发布时间】:2019-05-20 07:26:59 【问题描述】:我有一个包含大约 10 GB 数据的 dynamodb 表。我需要在不到 5 分钟的时间内将其转储到 s3 或数据仓库解决方案。我需要知道是否有任何解决方案可以使这成为可能。或者,如果这完全有可能在 5 分钟内完成。如果有人尝试过,请告诉我。
我尝试使用胶水和复制到红移,但没有任何运气。复制和传输数据需要很长时间。
【问题讨论】:
当您说“复制需要很多时间”时,您是否尝试过增加读取容量单位以使表访问更快?您可以在 Amazon CloudWatch 中检查您是否已达到读取容量限制。 @JohnRotenstein 我确实尝试增加 RCU。但是,redshift 无法在很大程度上消耗 RCU。 【参考方案1】:在 5 分钟内传输 10 GB 的数据相当于每秒约 33.3MByte 的传输速度。如果您将流量保持在 AWS 内,那是小菜一碟。确保如@JohnRotenstein 所述将表的 IOP 保持在此阈值以上。
AWS 有一个关于如何使用数据管道将 DynamoDB 表导出到 S3 的教程:
https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-importexport-ddb-part2.html
【讨论】:
每秒 33.3MByte 将需要大约 4200 个预置读取容量单位。 (每个消耗的读取容量单位 8k)。按需计费也可以。几乎可以肯定需要并行扫描。以上是关于从 dynamodb 复制到 s3的主要内容,如果未能解决你的问题,请参考以下文章
将 JSON 数据从 dynamoDB 复制到 redshift
将有效负载数据从 dynamodb 复制到 redshift
从 DynamoDB 流复制到 Kinesis Data Streams 时如何维护顺序并避免重复记录?