Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

使用 COPY 命令加载数据

COPY 命令使用 Amazon Redshift 大规模并行处理 (MPP) 架构从 Amazon S3 上的文件、DynamoDB 表或者来自一个或多个远程主机的文本输出并行读取和加载数据。

注意

我们强烈建议使用 COPY 命令加载大量数据。使用单个 INSERT 语句填充表可能过于缓慢。或者,如果您的数据在其他 Amazon Redshift 数据库表中已经存在,请使用 INSERT INTO ... SELECT 或 CREATE TABLE AS 来提高性能。有关更多信息,请参阅 INSERTCREATE TABLE AS

要从另一 AWS 资源加载数据,您的集群必须有权访问相应资源和执行所需操作。

若要授予或撤消使用 COPY 命令将数据加载到表中的特权,请授予或撤消 INSERT 特权。

您的数据需要采用恰当的格式才能加载到 Amazon Redshift 表中。本部分介绍在加载数据前准备和验证数据以及在执行 COPY 语句前对其进行验证的指南。

若要保护文件中的信息,您可以先对数据文件进行加密,然后再将它们上传到 Amazon S3 存储桶;COPY 将在执行加载时解密数据。您还可以通过向用户提供临时安全凭证来限制对您的加载数据的访问。临时安全凭证可增强安全性,因为它们时效短,过期后无法重复使用。

您可以使用 gzip、lzop 或 bzip2 来压缩文件,以节约上传文件的时间。然后,COPY 将在读取文件时解压缩文件,以加快加载过程的速度。

为帮助保护 AWS 云中正在传输的数据,Amazon Redshift 使用硬件加速 SSL 与 Amazon S3 或 Amazon DynamoDB 通信,以执行 COPY、UNLOAD、备份和恢复操作。

如果直接从 Amazon DynamoDB 表加载您的表,您可以选择控制自己占用的 Amazon DynamoDB 预置吞吐量。

作为加载过程的一部分,您可选择让 COPY 分析您的输入数据并对您的表自动应用最佳压缩编码。