Athena の「View is stale; it must be re-created」(ビューが古くなっています。再作成する必要があります) というエラーを解決するにはどうすればよいですか?

最終更新日: 2022 年 12 月 29 日

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 句を追加して、ビューを置き換えることもできます。この句を使用すると、既存のビューを置き換えることによって更新できます。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?