Amazon Athena
ユーザーガイド

Amazon S3 のテーブルの場所

Athena で CREATE TABLE クエリを実行する場合は、Athena が使用するデータカタログにテーブルを登録します。AWS Glue に移行すると、これが AWS Glue のカタログになります。また、Amazon S3 内のテーブルの場所を s3://bucketname/keyname/ という形式で指定します。

Amazon S3 内の場所を指定するときに、以下のヒントと例を参考にしてください。

  • Athena は、指定した Amazon S3 の場所にあるすべてのファイルを CREATE TABLE ステートメントで読み取ります。プレフィックスにファイルが含まれていても、それを無視することはできません。テーブルを作成する際は、Athena で読み取るファイルのみを Amazon S3 パスに含めます。AWS Lambda 関数を使用して、ソースの場所にあるファイルをスキャンし、空のファイルを削除して、不要なファイルを別の場所に移動します。

  • LOCATION 句では、バケットの後にスラッシュを使用します。

使用アイテム:

s3://bucketname/prefix/

次のいずれの項目もファイルの場所で使用しないでください。

  • ファイルの場所を指定するために、ファイル名、アンダースコア、ワイルドカード、または glob パターンを使用しないでください。

  • s3.amazon.com などの完全な HTTP 表記を Amazon S3 バケットのパスに追加しません。

  • 次のように、パスに空のプレフィックス (余分の / を付けて) を使用しないでください。S3://bucketname/prefix//prefix/これは有効な Amazon S3 パスですが、Athena はそれを許可せず、余分な / を削除して、s3://bucketname/prefix/prefix/ に変更します。

使用しない:

s3://path_to_bucket s3://path_to_bucket/* s3://path_to_bucket/mySpecialFile.dat s3://bucketname/prefix/filename.csv s3://test-bucket.s3.amazon.com S3://bucket/prefix//prefix/ arn:aws:s3:::bucketname/prefix