从 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 时如何维护顺序并避免重复记录?

pyspark 代码将 dynamodb 表复制到配置单元问题:不允许操作

从S3中导入数据到Dynamodb

AWS DataPipeline表示未找到DynamoDB表