

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

# 从 Simple Storage Service（Amazon S3）加载数据
<a name="query-editor-v2-loading-data"></a>

您可将 Amazon S3 数据加载到现有表或新表中。

**将数据加载到现有表中**

查询编辑器 v2 使用 COPY 命令从 Simple Storage Service（Amazon S3）加载数据。在查询编辑器 v2 加载数据向导中生成和使用的 COPY 命令支持从 Amazon S3 复制的 COPY 命令语法可用的许多参数。有关 COPY 命令及其用于从 Simple Storage Service（Amazon S3）加载数据选项的信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [Amazon Simple Storage Service 中的 COPY 命令](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html)。

1. 确认表已在要加载数据的数据库中创建。

1. 在继续之前，请在查询编辑器 v2 的树视图面板中确认您已连接到目标数据库。使用上下文菜单（右键单击）创建与将要加载数据的集群或工作组的连接。

   选择 ![\[Load\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/images/qev2-upload.png)**Load data**（加载数据）

1. 对于**数据来源**，选择**从 S3 存储桶加载**。

1. 在 **S3 URI**中，选择 **Browse S3**（浏览 S3）以查找包含要加载数据的 Simple Storage Service（Amazon S3）桶。

1. 如果指定的 Amazon S3 桶与目标表不在同一个 AWS 区域中，则针对数据所在的 AWS 区域选择 **S3 file location**（S3 文件位置）。

1. 如果 Simple Storage Service（Amazon S3）文件实际上包含多个 Simple Storage Service（Amazon S3）桶 URI 清单，选择**This file is a manifest file**（此文件是清单文件）。

1. 为要上载的文件选择 **File format**（文件格式）。支持的数据格式有 CSV、JSON、DELIMITER、FIXEDWIDH、SHAPEFILE、AVRO、PARQUET 和 ORC。根据指定的文件格式，您可以选择相应的 **File options**（文件选项）。如果数据已加密，您还可以选择 **Data is encrypted**（数据已加密），并输入用于加密数据的 KMS 密钥 Amazon Resource Name（ARN）。

   如果您选择 CSV 或 DELIMITER，则还可以选择**分隔符字符**，以及在指定的行编号实际上是列名而不是要加载的数据时是否**忽略标题行**。

1. 选择压缩方法来压缩文件。原定设置为无压缩。

1. （可选）**Advanced settings**（高级设置）支持各种 **Data conversion parameters**（数据转换参数）和 **Load operations**（加载操作）。根据文件的需要输入此信息。

   有关数据转换和数据加载参数的更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的[数据转换参数](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html)和[数据加载操作](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html)。

1. 选择**下一步**。

1. 选择**加载现有表**。

1. 确认或选择**目标表**的位置，包括在其中加载数据的**集群或工作组**、**数据库**、**架构**和**表**名称。

1. 选择具有从 Simple Storage Service（Amazon S3）加载数据所需的权限的 **IAM role**（IAM 角色）。

1. （可选）选择列名称，将其输入到 **Column mapping**（列映射）中，以按输入数据文件的顺序映射列。

1. 选择 **Load data**（加载数据）开启数据加载。

   加载完成后，查询编辑器将显示用于加载数据的生成 COPY 命令。将显示 COPY 的 **Result**（结果）。如果成功，您现在可以使用 SQL 从加载的表中选择数据。当出现错误时，请查询系统视图 STL\$1LOAD\$1ERRORS 以获取更多详细信息。有关 COPY 命令错误的信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html)。

将数据加载到新表时，查询编辑器 v2 首先在数据库中创建表，然后作为同一个工作流中的单独操作加载数据。

**将数据加载到新表**

查询编辑器 v2 使用 COPY 命令从 Simple Storage Service（Amazon S3）加载数据。在查询编辑器 v2 加载数据向导中生成和使用的 COPY 命令支持从 Amazon S3 复制的 COPY 命令语法可用的许多参数。有关 COPY 命令及其用于从 Simple Storage Service（Amazon S3）加载数据选项的信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [Amazon Simple Storage Service 中的 COPY 命令](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html)。

1. 在继续之前，请在查询编辑器 v2 的树视图面板中确认您已连接到目标数据库。使用上下文菜单（右键单击）创建与将要加载数据的集群或工作组的连接。

   选择 ![\[Load\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/images/qev2-upload.png)**Load data**（加载数据）

1. 对于**数据来源**，选择**从 S3 存储桶加载**。

1. 在 **S3 URI**中，选择 **Browse S3**（浏览 S3）以查找包含要加载数据的 Simple Storage Service（Amazon S3）桶。

1. 如果指定的 Amazon S3 桶与目标表不在同一个 AWS 区域中，则针对数据所在的 AWS 区域选择 **S3 file location**（S3 文件位置）。

1. 如果 Simple Storage Service（Amazon S3）文件实际上包含多个 Simple Storage Service（Amazon S3）桶 URI 清单，选择**This file is a manifest file**（此文件是清单文件）。

1. 为要上载的文件选择 **File format**（文件格式）。支持的数据格式有 CSV、JSON、DELIMITER、FIXEDWIDH、SHAPEFILE、AVRO、PARQUET 和 ORC。根据指定的文件格式，您可以选择相应的 **File options**（文件选项）。如果数据已加密，您还可以选择 **Data is encrypted**（数据已加密），并输入用于加密数据的 KMS 密钥 Amazon Resource Name（ARN）。

   如果您选择 CSV 或 DELIMITER，则还可以选择**分隔符字符**，以及在指定的行编号实际上是列名而不是要加载的数据时是否**忽略标题行**。

1. 选择压缩方法来压缩文件。原定设置为无压缩。

1. （可选）**Advanced settings**（高级设置）支持各种 **Data conversion parameters**（数据转换参数）和 **Load operations**（加载操作）。根据文件的需要输入此信息。

   有关数据转换和数据加载参数的更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的[数据转换参数](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html)和[数据加载操作](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html)。

1. 选择**下一步**。

1. 选择**加载新表**。

   表列根据输入数据推断得出。您可以通过添加列和表详细信息来修改表架构的定义。要恢复到查询编辑器 v2 推断的表架构，请选择**还原为默认值**。

1. 确认或选择**目标表**的位置，包括在其中加载数据的**集群或工作组**、**数据库**和**架构**。输入要创建的**表**的名称。

1. 选择具有从 Simple Storage Service（Amazon S3）加载数据所需的权限的 **IAM role**（IAM 角色）。

1. 选择**创建表**即可使用所示的定义创建表。

   此时将显示表定义的复查摘要。系统会在数据库中创建表。以后要删除该表时，请运行 DROP TABLE SQL 命令。有关更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [DROP TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE)。

1. 选择 **Load data**（加载数据）开启数据加载。

   加载完成后，查询编辑器将显示用于加载数据的生成 COPY 命令。将显示 COPY 的 **Result**（结果）。如果成功，您现在可以使用 SQL 从加载的表中选择数据。当出现错误时，请查询系统视图 STL\$1LOAD\$1ERRORS 以获取更多详细信息。有关 COPY 命令错误的信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html)。