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