Athena の「ビューが古くなっています。再作成する必要があります」というエラーの解決方法を教えてください。
最終更新日: 2021 年 3 月 30 日
Amazon Athena でビュークエリを実行すると、「SYNTAX_ERROR: 行 1:15:「awsdatacatalog.mydatabase.myview」ビューが古くなっています。再作成する必要があります」というような「古いビュー」のエラーが表示されます。
解決方法
Athena は、次のいずれかの条件の下で古いビューを報告します。
- ビュークエリで指定されたテーブルまたはデータベースが存在しない。
- ビューを作成した後、テーブル定義を変更しようとした。
- テーブルの再作成または更新中に、参照先のテーブルのスキーマまたはメタデータを更新しようとした。
例えば、ビューを作成し、同じテーブルで ALTER TABLE ADD COLUMNS ステートメントを実行すると、「古いビュー」エラーが発生してビュークエリは失敗します。この古いビューエラーは、AWS Glue クローラを実行してテーブル定義を更新した場合にも発生します。詳細については、ビューの考慮事項を参照してください。
「古いビュー」エラーを防ぐには、基になるテーブルまたはデータベースを変更するたびにビューを再作成します。また、CREATE VIEW ステートメントで OR REPLACE 句を追加して、ビューを置き換えることもできます。この句を使用すると、既存のビューを置き換えることによって更新できます。