CREATE TABLE を使用して Amazon Ion テーブルを作成する - Amazon Athena

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

CREATE TABLE を使用して Amazon Ion テーブルを作成する

Amazon Ion 形式で格納されたデータから Athena でテーブルを作成するには、CREATE TABLE ステートメントで次のいずれかの方法を使用します。

  • STORED AS ION を指定します。この方法では、Amazon Ion Hive SerDe を明示的に指定する必要はありません。このオプションの方が簡単です。

  • ROW FORMAT SERDEINPUTFORMAT、および OUTPUTFORMAT の各フィールドで Amazon Ion のクラスパスを指定します。

また、CREATE TABLE AS SELECT (CTAS) ステートメントを使用して、Athena で Amazon Ion テーブルを作成することもできます。詳細については、CTAS と INSERT INTO を使用した Amazon Ion テーブルの作成を参照してください。

STORED AS ION を指定する

次の例の CREATE TABLE ステートメントでは、LOCATION 句の前で STORED AS ION を使用し、Amazon Ion 形式でフライトデータに基づいたテーブルを作成しています。LOCATION 句では、Ion 形式の入力ファイルが置かれているバケットまたはフォルダを指定します。指定した場所にあるすべてのファイルをスキャンします。

CREATE EXTERNAL TABLE flights_ion ( yr INT, quarter INT, month INT, dayofmonth INT, dayofweek INT, flightdate STRING, uniquecarrier STRING, airlineid INT, ) STORED AS ION LOCATION 's3://DOC-EXAMPLE-BUCKET/'

Amazon Ion クラスパスを指定する

STORED AS ION 構文を使用する代わりに、次のように ROW FORMAT SERDEINPUTFORMAT、および OUTPUTFORMAT 句に Ion クラスパスの値を明示的に指定することができます。

パラメータ Ion クラスパス
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat'
OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat'

次の DDL クエリでは、この手法を使用して、前の例と同じ外部テーブルを作成しています。

CREATE EXTERNAL TABLE flights_ion ( yr INT, quarter INT, month INT, dayofmonth INT, dayofweek INT, flightdate STRING, uniquecarrier STRING, airlineid INT, ) ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe' STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat' OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat' LOCATION 's3://DOC-EXAMPLE-BUCKET/'

Athena の CREATE TABLE ステートメントの SerDe プロパティの詳細については、「Amazon Ion SerDe プロパティの使用」を参照してください。