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

Dernière mise à jour : 08/04/2021

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.

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


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