

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 使用 COPY 命令加载表
<a name="t_Loading_tables_with_the_COPY_command"></a>

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

在学习 COPY 命令的所有选项之前，我们建议先学习用于加载 Amazon S3 数据的基本选项。《Amazon Redshift 入门指南》**演示了如何使用默认 IAM 角色轻松通过 COPY 命令来加载 Amazon S3 数据。有关详细信息，请参阅[步骤 4：将数据从 Amazon S3 加载到 Amazon Redshift](https://docs.amazonaws.cn/redshift/latest/gsg/rs-gsg-create-sample-db.html)。

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

要从另一 Amazon 资源加载数据，Amazon Redshift 必须有权访问相应资源和执行所需操作。

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

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

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

Amazon Redshift 具有 COPY 内置功能，可以快速加载未压缩的、分隔的数据。但您可以使用 gzip、lzop 或 bzip2 来压缩您的文件，以节约上载文件的时间。

如果 COPY 查询中包含以下关键词，则不支持自动拆分以下格式的未压缩数据：ESCAPE、REMOVEQUOTES 和 FIXEDWIDTH。但是支持 CSV 关键字。

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

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

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

**Topics**
+ [凭证和访问权限](loading-data-access-permissions.md)
+ [准备输入数据](t_preparing-input-data.md)
+ [从 Amazon S3 加载数据](t_Loading-data-from-S3.md)
+ [从 Amazon EMR 中加载数据](loading-data-from-emr.md)
+ [从远程主机中加载数据](loading-data-from-remote-hosts.md)
+ [从 Amazon DynamoDB 表中加载数据](t_Loading-data-from-dynamodb.md)
+ [验证是否正确加载了数据](verifying-that-data-loaded-correctly.md)
+ [验证输入数据](t_Validating_input_files.md)
+ [使用自动压缩加载表](c_Loading_tables_auto_compress.md)
+ [针对窄表优化存储](c_load_compression_hidden_cols.md)
+ [加载默认列值](c_loading_default_values.md)
+ [解决数据加载问题](t_Troubleshooting_load_errors.md)