Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

ALTER TABLE REPLACE COLUMNS

フォーカスモード

このページの内容

ALTER TABLE REPLACE COLUMNS - Amazon Athena

LazySimpleSerDe で作成したテーブルから既存の列をすべて削除して、それらを指定された列のセットに置き換えます。オプションの PARTITION 構文を使用すると、パーティションメタデータが更新されます。ALTER TABLE REPLACE COLUMNS を使用し、保持したい列のみを指定することによって、列をドロップすることもできます。

概要

ALTER TABLE table_name [PARTITION (partition_col1_name = partition_col1_value [,partition_col2_name = partition_col2_value][,...])] REPLACE COLUMNS (col_name data_type [, col_name data_type, ...])

パラメータ

PARTITION (partition_col_name = partition_col_value [,...])

ユーザー指定の列名/値の組み合わせでパーティションを指定します。列のデータ型が文字列である場合にのみ、partition_col_value を引用符で囲みます。

REPLACE COLUMNS (col_name data_type [,col_name data_type,...])

既存の列を、指定された列名とデータ型に置き換えます。

メモ

  • ALTER TABLE REPLACE COLUMNS を実行した後で Athena クエリエディタのナビゲーションペインにテーブル列での変更を表示する場合に、エディタ内でテーブルのリストを手動で更新してから、テーブルの展開が再度必要となる場合があります。

  • ALTER TABLE REPLACE COLUMNS は、date データ型の列では機能しません。この問題の回避策は、テーブルで timestamp データ型を代わりに使用することです。

  • 単一の列だけを置き換える場合でも、構文は ALTER TABLE table-name REPLACE COLUMNS (複数形で columns を含む形式) とする必要があることに注意してください。置き換えの対象である列だけでなく、維持しておく列も指定する必要があります。これを行わない場合、指定されていない列は削除されます。この構文と動作は Apache Hive DDL から派生したものです。リファレンスについては、Apache ドキュメントの「Add/Replace Columns」(列の追加/置換) を参照してください。

次の例での (LazySimpleSerDe により作成された) テーブル names_cities には、col1col2、および col3 という名前の 3 つの列があります。すべての列の型は string です。テーブル内の列を表示するために、次のコマンドでは SHOW COLUMNS ステートメントを使用しています。

SHOW COLUMNS IN names_cities

クエリの結果:

col1 col2 col3

次の ALTER TABLE REPLACE COLUMNS コマンドでは、列の名前を first_namelast_name、および city に置き換えます。基盤となるソースデータは影響を受けません。

ALTER TABLE names_cities REPLACE COLUMNS (first_name string, last_name string, city string)

結果をテストするために、再度 SHOW COLUMNS が実行されます。

SHOW COLUMNS IN names_cities

クエリの結果:

first_name last_name city

更新された列名を表示する別の方法として、Athena クエリエディタでテーブルをプレビューする、または独自のSELECTクエリを実行することもできます。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.