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

为 Amazon Redshift Spectrum 中的查询创建数据文件

您用于 Amazon Redshift Spectrum 中的查询的数据文件通常与您用于其他应用程序 (包括其他 AWS 服务,如 Amazon Athena、Amazon EMR、Amazon QuickSight 等) 的文件相同。如果文件的格式为 Redshift Spectrum 支持的常见格式之一并且文件位于您的集群可访问的存储桶中,则您可直接从 Amazon S3 以数据的原始格式查询数据。

包含数据文件的 Amazon S3 存储桶以及 Amazon Redshift 集群必须位于同一区域。Redshift Spectrum 在以下区域中受支持:

  • us-east-1

  • us-east-2

  • us-west-2

文件格式

Redshift Spectrum 支持以下结构化和半结构化数据格式。

  • AVRO

  • PARQUET

  • TEXTFILE

  • SEQUENCEFILE

  • RCFILE

  • RegexSerDe

注意

文本文件中的时间戳值的格式必须为 yyyy-MM-dd HH:mm:ss.SSSSSS,如以下时间戳值所示:2017-05-01 11:30:59.000000

我们建议使用列式存储文件格式 (如 Parquet)。利用列式存储文件格式,您可以通过仅选择所需的列来最大程度地减少 Amazon S3 外部的数据传输。

Compression

要减少存储空间、提高性能和最大程度地降低成本,我们强烈建议压缩您的数据文件。Redshift Spectrum 支持以下压缩类型:

  • gzip

  • snappy

  • bz2

加密

Redshift Spectrum 以透明方式解密使用以下加密选项加密的数据文件:

  • 使用由 Amazon S3 管理的 AES-256 加密密钥的服务器端加密 (SSE-S3)。

  • 使用由使用默认密钥的 AWS Key Management Service (SSE-KMS) 管理的密钥的服务器端加密。

Redshift Spectrum 不支持 Amazon S3 客户端加密。有关更多信息,请参阅使用服务器端加密保护数据

Amazon Redshift 使用大规模并行处理 (MPP) 实现对大量数据的复杂查询操作的快速执行。Redshift Spectrum 将同一原则延伸到了查询外部数据,并按需使用多个 Redshift Spectrum 实例来扫描文件。将文件放在每个表的单独的文件夹中。

您可通过以下做法优化数据的并行处理:

  • 将大文件分成很多较小的文件。我们建议使用介于 100 MB 和 1 GB 之间的文件大小。将表的文件存储在同一文件夹中。

  • 将所有文件保持在大致相同的大小。如果某些文件大于其他文件,Redshift Spectrum 将无法均匀分配工作负载。