

# Amazon Ion テーブルを作成する
<a name="ion-serde-using-create-table"></a>

Amazon Ion 形式で格納されたデータから Athena でテーブルを作成するには、CREATE TABLE ステートメントで次のいずれかの方法を使用します。
+ `STORED AS ION` を指定します。この方法では、Amazon Ion Hive SerDe を明示的に指定する必要はありません。このオプションの方が簡単です。
+ `ROW FORMAT SERDE`、`INPUTFORMAT`、および `OUTPUTFORMAT` の各フィールドで Amazon Ion のクラスパスを指定します。

また、`CREATE TABLE AS SELECT` (CTAS) ステートメントを使用して、Athena で Amazon Ion テーブルを作成することもできます。詳細については、「[CTAS と INSERT INTO を使用して Amazon Ion テーブルを作成する](ion-serde-using-ctas-and-insert-into-to-create-ion-tables.md)」を参照してください。

## STORED AS ION を指定する
<a name="ion-serde-specifying-stored-as-ion"></a>

次の例の `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://amzn-s3-demo-bucket/'
```

## Amazon Ion クラスパスを指定する
<a name="ion-serde-specifying-the-ion-class-paths"></a>

`STORED AS ION` 構文を使用する代わりに、次のように `ROW FORMAT SERDE`、`INPUTFORMAT`、および `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://amzn-s3-demo-bucket/'
```

Athena の `CREATE TABLE` ステートメントの SerDe プロパティの詳細については、「[Amazon Ion SerDe プロパティリファレンス](ion-serde-using-ion-serde-properties.md)」を参照してください。