使用 AWS Datapipeline 将 DynamoDB 导出到 S3 数据
Posted
技术标签:
【中文标题】使用 AWS Datapipeline 将 DynamoDB 导出到 S3 数据【英文标题】:Export DynamoDB to S3 data using AWS Datapipeline 【发布时间】:2020-06-27 16:30:31 【问题描述】:我有一个存储 1Gb 数据的 DynamoDB 表。 RCU 和 WCU 各为 1000。 我设置了一个数据管道来将这 1 GB 的数据导出到 s3。整个1GB数据导出到s3 在分区中。我的问题是什么决定了这些分区的数量和大小?
【问题讨论】:
【参考方案1】:强大的鼠标,
在他最近的视频“AWS Re:Invent Amazon DynamoDB 高级设计模式 – 第 1 部分”中,Rick Houlihan 演示了在创建表时设置 100k WCU 预置容量,并提到每预置 1000 个 WCU 将添加 1 个分区,因此他的表开始大约有 100 个分区。分区内部限制为 10gb,如果分区达到此限制,则分成两个分区,否则它们将保持在一个范围内。这表明您的所有数据可能仍仅位于一个分区内。
所有这些似乎都被抽象/隐藏在用户之外,但通常您应该能够计算出估计的分区数。
AWS 表示,在按需模式下,它们会自动将您的表的吞吐量提高两倍于之前的限制。措辞有点奇怪,但我相信这最终会导致他们为您创建更多分区,因为分区的查询或写入速度超出了它的处理速度。
需要注意的是,许多人提到,一旦配置了分区,您可以将 WCU 的数量降低到您实际需要的数量,并且仍然保留配置的分区。
【讨论】:
以上是关于使用 AWS Datapipeline 将 DynamoDB 导出到 S3 数据的主要内容,如果未能解决你的问题,请参考以下文章
AWS DataPipeline:RedshiftCopyActivity OVERWRITE_EXISTING 未强制执行主键
如何在 AWS Datapipeline 中的 Python 脚本中提供 Redshift 数据库密码?