スキーマを更新する
このトピックでは、実際にデータを変更せずに CREATE
TABLE
ステートメントのスキーマに加えられるいくつかの変更について説明します。スキーマを更新するには、ALTER TABLE
コマンドを使用できる場合もあれば、既存のテーブルを実際に変更しない場合もあります。代わりに、元の CREATE TABLE
テートメントで使用したスキーマを変更する新しい名前のテーブルを作成します。
期待されるスキーマの進化方法に応じて、Athena クエリの使用を継続するために互換性のあるデータ形式を選択します。
CSV および Parquet の 2 つの形式で存在する orders
テーブルからの注文情報を読み取るアプリケーションを考えます。
以下の例では、Parquet でテーブルを作成します。
CREATE EXTERNAL TABLE orders_parquet ( `orderkey` int, `orderstatus` string, `totalprice` double, `orderdate` string, `orderpriority` string, `clerk` string, `shippriority` int ) STORED AS PARQUET LOCATION 's3://amzn-s3-demo-bucket/orders_ parquet/';
以下の例では、CSV で同じテーブルを作成します。
CREATE EXTERNAL TABLE orders_csv ( `orderkey` int, `orderstatus` string, `totalprice` double, `orderdate` string, `orderpriority` string, `clerk` string, `shippriority` int ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION 's3://amzn-s3-demo-bucket/orders_csv/';
次のトピックでは、これらのテーブルの更新が Athena クエリにどのように影響するかを示します。