从列式数据格式中执行 COPY 操作 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

从列式数据格式中执行 COPY 操作

COPY 可采用以下列式格式从 Amazon S3 中加载数据:

  • ORC

  • Parquet

有关从列式数据格式中使用 COPY 的示例,请参阅COPY 示例

COPY 支持列式数据,但要注意以下几点:

  • Amazon S3 桶必须与 Amazon Redshift 数据库位于同一 Amazon 区域。

  • 要通过 VPC 端点访问您的 Amazon S3 数据,请使用 IAM 策略和 IAM 角色设置访问权限,如《Amazon Redshift 管理指南》中的将 Amazon Redshift Spectrum 与增强 VPC 路由结合使用中所述。

  • COPY 不自动应用压缩编码。

  • 仅支持以下 COPY 参数:

  • 如果 COPY 在加载时遇到错误,则命令失败。列式数据类型不支持 ACCEPTANYDATE 和 MAXERROR。

  • 错误消息发送至 SQL 客户端。一些错误记录在 STL_LOAD_ERRORS 和 STL_ERROR 中。

  • COPY 会按列在列式数据文件中出现的相同顺序将值插入到目标表的列中。目标表中的列数和数据文件中的列数必须匹配。

  • 如果您为 COPY 操作指定的文件包含下列扩展名之一,我们将解压缩数据,而无需添加任何参数:

    • .gz

    • .snappy

    • .bz2

  • 从 Parquet 和 ORC 文件格式的 COPY 操作使用 Redshift Spectrum 和桶访问。要对这些格式执行 COPY 操作,请确保没有任何阻止使用 Amazon S3 预签名 URL 的 IAM 策略。Amazon Redshift 生成的预签名 URL 有效期为 1 小时,这样 Amazon Redshift 就有足够的时间从 Amazon S3 存储桶中加载所有文件。COPY 操作从列式数据格式中扫描的每个文件都会生成一个唯一的预签名 URL。对于包含 s3:signatureAge 操作的存储桶策略,请确保将该值至少设置为 3,600,000 毫秒。有关更多信息,请参阅将 Amazon Redshift Spectrum 与增强型 VPC 路由结合使用