CREATE TABLE AS - Amazon Athena

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

CREATE TABLE AS

SELECT クエリの結果が入力された新しいテーブルを作成します。空のテーブルを作成するには CREATE TABLE を使用します。

詳細情報については、 CREATE TABLE AS この参照トピックの範囲外です。を参照してください。 クエリ結果からのテーブルの作成 (CTAS).

Synopsis

CREATE TABLE table_name [ WITH ( property_name = expression [, ...] ) ] AS query [ WITH [ NO ] DATA ]

各パラメータの意味は次のとおりです。

WITH ( property_name = expression [, ...] )

オプションの CTAS テーブルのプロパティのリスト。一部のプロパティはデータストレージ形式に固有です。「CTAS テーブルのプロパティ」を参照してください。

query

A SELECT クエリを使用して新しいテーブルを作成します。

重要

パーティションがあるクエリを作成する予定がある場合は、SELECT ステートメントで列のリストの最後に、パーティション分割された列の名前を指定します。

[ WITH [ NO ] DATA ]

WITH NO DATA が指定されている場合、元のテーブルと同じスキーマを持つ新しい空のテーブルが作成されます。

CTAS テーブルのプロパティ

各CTASテーブル Athena には、 WITH (property_name = expression [, ...] ). これらのパラメータの使用については、以下を参照してください。 CTAS クエリの例.

WITH (property_name = expression [, ...], )
external_location = [location]

省略可能。次の例のように、Athena が CTAS クエリを Amazon S3 に保存する場所です。

WITH (external_location ='s3://my-bucket/tables/parquet_table/')

Athena は、クエリ結果に同じパスを 2 回使用しません。手動で場所を指定する場合は、指定するその Amazon S3 場所にデータがないことを確認します。Athena がデータを削除することはありません。再度同じ場所を使用する場合は、手動でデータを削除します。そうしないと、CTAS クエリは失敗します。

クエリ結果の場所を強制するワークグループで external_location を指定する CTAS クエリを実行すると、クエリは失敗し、エラーメッセージが表示されます。ワークグループに対して指定されたクエリ結果の場所を確認するには、ワークグループの詳細を参照してください

ワークグループがクエリ結果の場所に対するクライアント側の設定を上書きする場合、Athena は次の場所にテーブルを作成します。

s3://<workgroup-query-results-location>/tables/<query-id>/

external_location プロパティを使用して場所を指定せず、ワークグループがクライアント側の設定を上書きしない場合、Athena はクエリ結果の場所に対して クライアント側の設定を使用し、次の場所にテーブルを作成します。

s3://<query-results-location-setting>/<Unsaved-or-query-name>/<year>/<month/<date>/tables/<query-id>/
format = [format]

次のようなCTASクエリ結果のデータ形式 ORCPARQUETAVROJSON、または TEXTFILE. たとえば、 WITH (format = 'PARQUET'). 省略した場合は、 PARQUET はデフォルトで使用されます。このパラメータの名前である format は小文字で記述する必要があります。そうしないと、CTAS クエリは失敗します。

partitioned_by = ARRAY( [col_name,…])

省略可能。CTAS テーブルをパーティション分割する列の配列リスト。パーティション分割された列の名前は、SELECT ステートメントで列のリストの最後に記述します。

bucketed_by( [bucket_name,…])

データの配置先となるバケットの配列リスト。省略した場合、Athena はこのクエリでデータをバケットに配置しません。

bucket_count = [int]

データの配置先となるバケットの数。省略した場合、Athena はデータをバケットに配置しません。

orc_compression = [format]

ORC データに対して使用する圧縮タイプ。たとえば、 WITH (orc_compression = 'ZLIB'). 省略すると、ORC および CTAS でサポートされている他のデータ ストレージ フォーマットでは、GZIP 圧縮がデフォルトで使用されます。

parquet_compression = [format]

Parquet データに対して使用する圧縮タイプ。たとえば、 WITH (parquet_compression = 'SNAPPY'). 省略した場合、GZIP圧縮はデフォルトで、ParcetおよびCTASでサポートされているその他のデータストレージフォーマットに使用されます。

field_delimiter = [delimiter]

オプションであり、テキストベースのデータストレージ形式に固有のパラメータ。CSV、TSV、およびテキスト ファイル内のファイルの単一文字フィールド区切り文字。たとえば、 WITH (field_delimiter = ','). 現在、CTASクエリでは複数文字のフィールド区切り文字はサポートされていません。フィールド区切り文字を指定しなかった場合、デフォルトで \001 が使用されます。

Examples

CTAS クエリの例については、次のリソースを参照してください。