如何向 DynamoDB 表发出批量上传?

1 分钟阅读
0

我想将数据批量上传到我的 Amazon DynamoDB 表。我该如何操作?

解决方法

使用以下选项之一将数据批量上传到 DynamoDB。

BatchWriteItem

使用 BatchWriteItem API 操作可同时发出多个 PutItem 调用。您还可以在代码中使用并行进程或线程来发出多个并行 BatchWriteItem API 调用,以加快数据加载速度。

AWS Data Pipeline

如果数据位于 Amazon Simple Storage Service(Amazon S3)中,则可以使用 Data Pipeline 导出到 DynamoDB。Data Pipeline 可以自动创建 Amazon EMR 集群并通过并行 BatchWriteItem 请求将您的数据从 Amazon S3 自动导出到 DynamoDB。当您使用 Data Pipeline 时,您不必为并行传输编写代码。有关更多信息,请参阅将数据从 Amazon S3 导入到 DynamoDB

导入表功能

如果数据存储在 S3 中,则可以使用导入表功能将数据上传到新的 DynamoDB 表。此功能支持压缩(GZIP 或 ZSTD)或未压缩格式的 CSV、DynamoDB JSON 或 Amazon ION 格式。有关更多信息,请参阅 DynamoDB 数据从 Amazon S3 导入:工作原理

Amazon EMR

要使用 Amazon EMR 和 Apache Hive 将数据上传到 DynamoDB,请执行以下操作:

  1. 创建 EMR 集群
    对于发布,请选择 emr-5.30.0 或更高版本。
    对于应用程序,请选择包含 Hive 的选项。
  2. 创建指向数据 Amazon S3 位置的外部 Hive 表
  3. 创建另一个外部 Hive 表,并将其指向 DynamoDB 表。
  4. 使用 INSERT OVERWRITE 命令将数据从 Amazon S3 写入到 DynamoDB。有关详细信息,请参阅将数据导入 DynamoDB

AWS Database Migration Service (AWS DMS)

您可以使用 AWS DMS 将数据从关系数据库导出到 DynamoDB 表。有关更多信息,请参阅将 Amazon DynamoDB 数据库用作 AWS Database Migration Service 的目标

AWS Glue

如果您正在上传的数据最初是使用 DynamoDB 导出功能从不同的 DynamoDB 表导出到 S3,请使用此选项。此选项对于上传大型数据集非常有效,因为导出功能使用 DynamoDB 备份功能且不扫描源表。这不会影响源表的性能或可用性。有关更多信息,请参阅使用 AWS Glue 和 Amazon DynamoDB 导出


AWS 官方
AWS 官方已更新 1 年前
没有评论