Athena の「ビューが古くなっています。再作成する必要があります」というエラーの解決方法を教えてください。

最終更新日: 2021 年 3 月 30 日

Amazon Athena でビュークエリを実行すると、「SYNTAX_ERROR: 行 1:15:「awsdatacatalog.mydatabase.myview」ビューが古くなっています。再作成する必要があります」というような「古いビュー」のエラーが表示されます。

解決方法

Athena は、次のいずれかの条件の下で古いビューを報告します。

  • ビュークエリで指定されたテーブルまたはデータベースが存在しない。
  • ビューを作成した後、テーブル定義を変更しようとした。
  • テーブルの再作成または更新中に、参照先のテーブルのスキーマまたはメタデータを更新しようとした。

例えば、ビューを作成し、同じテーブルで ALTER TABLE ADD COLUMNS ステートメントを実行すると、「古いビュー」エラーが発生してビュークエリは失敗します。この古いビューエラーは、AWS Glue クローラを実行してテーブル定義を更新した場合にも発生します。詳細については、ビューの考慮事項を参照してください。

「古いビュー」エラーを防ぐには、基になるテーブルまたはデータベースを変更するたびにビューを再作成します。また、CREATE VIEW ステートメントで OR REPLACE 句を追加して、ビューを置き換えることもできます。この句を使用すると、既存のビューを置き換えることによって更新できます。


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


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