Amazon Redshift
データベース開発者ガイド (API バージョン 2012-12-01)

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

Amazon Redshift Spectrum のクエリに使用するデータファイルは通常、Amazon Athena、Amazon EMR、Amazon QuickSight などの他のアプリケーションで使用するものと同じタイプのファイルです。ファイルが Redshift Spectrum がサポートする形式でフォーマットされていて、クラスターがアクセス可能な Amazon S3 バケット内に存在する場合は、Amazon S3 から直接元の型式でデータにクエリを実行できます。

Amazon S3 バケットとデータファイルおよび Amazon Redshift クラスターは、同じ AWS リージョンに存在する必要があります。サポートされる AWS リージョンの詳細については、「Amazon Redshift Spectrum のリージョン」を参照してください。

Redshift Spectrum は次の構造化されたデータ形式および半構造化されたデータ形式をサポートします。

  • AVRO

  • PARQUET

  • TEXTFILE

  • SEQUENCEFILE

  • RCFILE

  • RegexSerDe

  • 最適化された行列 (ORC)

  • Grok

  • OpenCSV

  • Ion

  • JSON

注記

テキストファイルのタイムスタンプ値は、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 インスタンスを使用して、同じ原理を外部データに拡張します。テーブルごとにファイルを個別のフォルダに置きます。

次のようなプラクティスでデータを並列処理用に最適化できます。

  • 大きなファイルは多くの小さなファイルに分割します。64 MB 以上のファイルサイズの使用が推奨されます。同じフォルダのテーブルにファイルを保存します。

  • ファイルはすべてほぼ同じサイズで保存します。一部のファイルのサイズが他のファイルを大きく上回ると、Redshift Spectrum はワークロードを均等に分散できません。