从 Simple Storage Service(Amazon S3)加载数据 - Amazon Redshift

从 Simple Storage Service(Amazon S3)加载数据

您可将 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 命令

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

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

    选择 LoadLoad data(加载数据)

  3. 对于数据来源,选择从 S3 存储桶加载

  4. S3 URI中,选择 Browse S3(浏览 S3)以查找包含要加载数据的 Simple Storage Service(Amazon S3)桶。

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

  6. 如果 Simple Storage Service(Amazon S3)文件实际上包含多个 Simple Storage Service(Amazon S3)桶 URI 清单,选择This file is a manifest file(此文件是清单文件)。

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

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

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

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

    有关数据转换和数据加载参数的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的数据转换参数数据加载操作

  10. 选择下一步

  11. 选择加载现有表

  12. 确认或选择 Target table(目标表)的位置,包括在其中加载数据的 Cluster or workgroup(集群或工作组)、Database(数据库)、Schema(模式)和 Table(表)名称。

  13. 选择具有从 Simple Storage Service(Amazon S3)加载数据所需的权限的 IAM role(IAM 角色)。

  14. (可选)选择列名称,将其输入到 Column mapping(列映射)中,以按输入数据文件的顺序映射列。

  15. 选择 Load data(加载数据)开启数据加载。

    加载完成后,查询编辑器将显示用于加载数据的生成 COPY 命令。将显示 COPY 的 Result(结果)。如果成功,您现在可以使用 SQL 从加载的表中选择数据。当出现错误时,请查询系统视图 STL_LOAD_ERRORS 以获取更多详细信息。有关 COPY 命令错误的信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 STL_LOAD_ERRORS

将数据加载到新表时,查询编辑器 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 命令

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

    选择 LoadLoad data(加载数据)

  2. 对于数据来源,选择从 S3 存储桶加载

  3. S3 URI中,选择 Browse S3(浏览 S3)以查找包含要加载数据的 Simple Storage Service(Amazon S3)桶。

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

  5. 如果 Simple Storage Service(Amazon S3)文件实际上包含多个 Simple Storage Service(Amazon S3)桶 URI 清单,选择This file is a manifest file(此文件是清单文件)。

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

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

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

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

    有关数据转换和数据加载参数的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的数据转换参数数据加载操作

  9. 选择下一步

  10. 选择加载新表

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

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

  12. 选择具有从 Simple Storage Service(Amazon S3)加载数据所需的权限的 IAM role(IAM 角色)。

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

    此时将显示表定义的复查摘要。系统会在数据库中创建表。以后要删除该表时,请运行 DROP TABLE SQL 命令。有关更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 DROP TABLE

  14. 选择 Load data(加载数据)开启数据加载。

    加载完成后,查询编辑器将显示用于加载数据的生成 COPY 命令。将显示 COPY 的 Result(结果)。如果成功,您现在可以使用 SQL 从加载的表中选择数据。当出现错误时,请查询系统视图 STL_LOAD_ERRORS 以获取更多详细信息。有关 COPY 命令错误的信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 STL_LOAD_ERRORS