Comment résoudre l'exception « HIVE_PATH_ALREADY_EXISTS » lorsque j'exécute une requête CTAS dans Amazon Athena ?

Lecture de 2 minute(s)
0

Lorsque j'exécute une requête CREATE TABLE AS SELECT (CTAS) dans Amazon Athena, j'obtiens l'exception : « HIVE_PATH_ALREADY_EXISTS : répertoire cible pour la table ».

Résolution

Si vous utilisez le paramètre external_location dans la requête CTAS, veillez à spécifier un emplacement Amazon Simple Storage Service (Amazon S3) qui est vide. L'emplacement Amazon S3 que vous utilisez pour stocker les résultats de la requête CTAS ne doit pas contenir de données. Lorsque vous exécutez votre requête CTAS, celle-ci vérifie que l'emplacement du chemin ou le préfixe dans le compartiment Amazon S3 ne contient aucune donnée. Si l'emplacement Amazon S3 contient déjà des données, la requête les écrase pas.

Pour utiliser l'emplacement Amazon S3 contenant des données dans votre requête CTAS, supprimez les données de l'emplacement du préfixe de clé dans le compartiment. Sinon, votre requête CTAS échoue avec l'exception « HIVE_PATH_ALREADY_EXISTS ».

Si une table Athena existante pointe vers l'emplacement Amazon S3 que vous souhaitez utiliser dans votre requête CTAS, procédez comme suit :

  1. Déposer la table Athena.
  2. Supprimer les données dans l'emplacement du préfixe de clé du compartiment S3.

Informations connexes

Propriétés de la table CTAS

Considérations et limitations pour les requêtes CTAS

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 ans