メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

Amazon Redshift Spectrum でクエリ用のデータファイルを作成する

Amazon Redshift Spectrum のクエリに使用するデータファイルは通常、Amazon Athena、Amazon EMR、Amazon QuickSight などの他の AWS サービスを含む他のアプリケーションで使用するものと同じファイルです。Redshift Spectrum がサポートする 1 つの共通形式でファイルがフォーマットされていて、クラスターがアクセス可能なバケット内に存在する場合は、元の型式で 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

  • ORC

  • Grok

注記

テキストファイルのタイムスタンプ値は、yyyy-MM-dd HH:mm:ss.SSSSSS 形式であることが必要です。次のタイムスタンプ値は、2017-05-01 11:30:59.000000 となっています。

Parquet など、列指向ストレージファイル形式を使用することをおすすめします。列指向ストレージファイル形式により、必要な列のみを選択士、Amazon S3 からのデータ転送を最小限に抑えることができます。

圧縮

ストレージスペースの縮小、パフォーマンスの向上、コストの最小化を行うため、データファイルを圧縮することを強くおすすめします。Redshift Spectrum は、ファイル名拡張子に基づいてファイル圧縮のタイプを認識します。

Redshift Spectrum は、次の圧縮タイプと拡張子をサポートしています。

  • gzip — .gz

  • Snappy — .snappy

  • bzip2 — .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 はワークロードを均等に分散できません。