选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 COPY 命令将数据从 DynamoDB 加载到 Amazon Redshift

聚焦模式
使用 COPY 命令将数据从 DynamoDB 加载到 Amazon Redshift - Amazon DynamoDB

Amazon Redshift 与 Amazon DynamoDB 结合使用,具有高级业务智能功能和基于 SQL 的强大接口。将 DynamoDB 表中的数据复制到 Amazon Redshift 后,您就可以对这些数据执行复杂的数据分析查询,包括与 Amazon Redshift 集群中其他表关联。

在预置吞吐量方面,对 DynamoDB 表执行的复制操作会占用该表的读取容量。复制数据后,Amazon Redshift 中的 SQL 查询不会再对 DynamoDB 产生任何影响。这是因为查询针对的是从 DynamoDB 中复制的数据的副本,而不是 DynamoDB 本身。

您必须先创建一个 Amazon Redshift 表用作存储数据的目标位置,然后才能从 DynamoDB 表加载数据。请注意,您是将数据从 NoSQL 环境复制到了 SQL 环境,两个环境之间有一些规则并不通用。以下是一些需要注意的差别:

  • DynamoDB 表名称可以包含多达 255 个字符,包括“.”(点号)和“-”(短划线)字符,并且区分大小写。Amazon Redshift 表名称限制为 127 个字符,不能包含点号或短划线,并且不区分大小写。此外,表名称不能与 Amazon Redshift 保留字冲突。

  • DynamoDB 不支持 NULL 这一 SQL 概念。您需要指定 Amazon Redshift 如何解释 DynamoDB 中的空属性值,是将它们视为 NULL 还是视为空字段。

  • DynamoDB 数据类型与 Amazon Redshift 的数据类型不直接对应。您需要确保 Amazon Redshift 表中每列的数据类型和大小都正确,以容纳来自 DynamoDB 的数据。

以下是 Amazon Redshift SQL 中的 COPY 命令示例:

copy favoritemovies from 'dynamodb://my-favorite-movies-table' credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' readratio 50;

在此示例中,DynamoDB 中的源表是 my-favorite-movies-table。Amazon Redshift 中的目标表是 favoritemoviesreadratio 50 语句用于控制所占用的预配置吞吐量百分数;在此示例中,COPY 命令使用的吞吐量不超过为 my-favorite-movies-table 预配置的读取容量单位的 50%。我们强烈建议您将此比率设置为低于未使用的预配置吞吐量的平均值。

有关将 DynamoDB 的数据加载到 Amazon Redshift 的详细说明,请参阅 Amazon Redshift 数据库开发人员指南的以下章节:

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。