CTAS と INSERT INTO を使用した Amazon Ion テーブルの作成 - Amazon Athena

CTAS と INSERT INTO を使用した Amazon Ion テーブルの作成

Athena では、CREATE TABLE AS SELECT (CTAS) と INSERT INTO ステートメントを使用して、テーブルのデータを Amazon Ion 形式で新しいテーブルにコピーまたは挿入できます。

CTAS クエリでは、次の例のように、WITH 句に format='ION' を指定します。

CREATE TABLE new_table WITH (format='ION') AS SELECT * from existing_table

デフォルトでは、Athena は Amazon Ion の結果を Ion バイナリ形式でシリアル化しますが、テキスト形式を使用することもできます。テキスト形式を使用するには、次の例のように、CTAS WITH 句に ion_encoding = 'TEXT' を指定します。

CREATE TABLE new_table WITH (format='ION', ion_encoding = 'TEXT') AS SELECT * from existing_table

CTAS WITH 句の Amazon Ion 固有のプロパティの詳細については、次のセクションを参照してください。

CTAS WITH 句の Amazon Ion プロパティ

CTAS クエリで WITH 句を使用すると、Amazon Ion 形式を指定できるほか、必要に応じて Amazon Ion エンコードを指定したり、使用する圧縮アルゴリズムを記述したりできます。

format

CTAS クエリの WITH 句では、形式オプションとして ION キーワードを指定できます。このようにしてテーブルを作成すると、IonInputFormat に指定した形式でデータが読み取られ、IonOutputFormat に指定した形式でデータがシリアル化されます。

次の例では、CTAS クエリで Amazon Ion 形式を使用するように指定しています。

WITH (format='ION')
ion_encoding

オプション

デフォルト: BINARY

値: BINARYTEXT

Amazon Ion バイナリ形式と Amazon Ion テキスト形式のどちらでデータをシリアル化するかを指定します。次の例では、Amazon Ion テキスト形式を指定しています。

WITH (format='ION', ion_encoding='TEXT')
write_compression

オプション

デフォルト: GZIP

値: GZIPZSTDBZIP2SNAPPYNONE

出力ファイルの圧縮に使用する圧縮アルゴリズムを指定します。

次の例では、Zstandard 圧縮アルゴリズムを使用して CTAS クエリの出力を Amazon Ion 形式で生成するように指定しています。

WITH (format='ION', write_compression = 'ZSTD')

Athena での圧縮の使用の詳細については、「Athena での圧縮のサポート」を参照してください。

Athena のその他の CTAS プロパティについては、「CTAS テーブルのプロパティ」を参照してください。