Comment résoudre l'erreur « La vue est obsolète ; elle doit être recréée » dans Athena ?

Date de la dernière mise à jour : 30/03/2021

Lorsque j'exécute une requête de vue dans Amazon Athena, je reçois une erreur « vue obsolète » de ce type : « SYNTAX_ERROR: line 1:15: View 'awsdatacatalog.mydatabase.myview' est obsolète ; elle doit être recréée. »

Solution

Athena signale une vue obsolète dans les cas suivants :

  • La table ou la base de données spécifiée dans la requête de vue n'existe pas.
  • Vous avez essayé de modifier la définition de table après avoir créé la vue.
  • Vous avez essayé de mettre à jour le schéma ou les métadonnées dans une table référencée lors de la recréation ou de la mise à jour de la table.

Par exemple, si vous créez une vue, puis exécutez une instruction ALTER TABLE ADD COLUMNS sur la même table, votre requête de vue échoue avec l'erreur « vue obsolète ». Ce type d'erreur se produit également si vous exécutez un analyseur AWS Glue pour mettre à jour la définition de table. Pour plus d'informations, consultez Considérations relatives aux vues.

Pour éviter les erreurs de vue obsolète, recréez la vue chaque fois que vous modifiez la table ou les bases de données sous-jacentes. Vous pouvez également remplacer la vue en ajoutant la clause OR REPLACE dans l'instruction CREATE VIEW. Cette clause permet de mettre à jour la vue existante en la remplaçant.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?