Comment résoudre l'erreur « unable to create input format » dans Athena ?

Date de la dernière mise à jour : 20/04/2020

Lorsque j'exécute une requête dans Amazon Athena, je reçois l'erreur « unable to create input format » (impossible de créer un format d'entrée).

Solution

Il existe plusieurs causes à cette erreur. Voici plusieurs scénarios et solutions courants :

L'analyseur ne peut pas classer le format de données

  • Les données sont stockées dans Amazon Simple Storage Service (Amazon S3)
  • Vous exécutez un analyseur AWS Glue avec un classifieur intégré pour détecter le schéma de table. L'analyseur renvoie une classification UNKNOWN. Au moins une colonne est détectée, mais le schéma est incorrect.
  • Lorsque vous interrogez la table à partir d'Athena, elle échoue avec l'erreur « HIVE_UNKNOWN_ERROR : Unable to create input format ».

Pour résoudre cette erreur, utilisez un type de données pris en charge par un classifieur intégré. Si le format de données ne peut pas être classé par un classifieur intégré, pensez à utiliser un classifieur personnalisé.

Athena ne prend pas en charge le format de données

  • Les données sont stockées dans Amazon S3.
  • Vous exécutez un analyseur pour créer la table. L'analyseur classe la table dans un format qu'Athena ne prend pas en charge, comme ion ou xml.
  • Lorsque vous interrogez la table à partir d'Athena, elle échoue avec l'erreur « HIVE_UNKNOWN_ERROR : Unable to create input format ».

Pour résoudre cette erreur, utilisez un format de données pris en charge par Athena.

Une ou plusieurs propriétés de définition de table AWS Glue sont vides

  • La définition de table AWS Glue n'est pas créée dans Athena ou par un analyseur AWS Glue. La définition de table est créée à l'aide de n'importe quelle autre méthode. Par exemple, la table est créée manuellement sur la console AWS Glue.
  • Lorsque vous interrogez la table à partir d'Athena, elle échoue avec l'erreur « HIVE_UNKNOWN_ERROR : Unable to create input format ».

Cette erreur se produit car une ou plusieurs des propriétés suivantes de la définition de table AWS Glue sont vides :

  • Format d'entrée
  • Format de sortie
  • Nom du cadre SerDe

Vérifiez que ces propriétés sont définies correctement pour le cadre SerDe et le format de données. N'oubliez pas que le cadre SerDe que vous spécifiez définit le schéma de table. Le cadre SerDe peut remplacer la configuration DDL que vous spécifiez dans Athena lorsque vous créez votre table.

Pour mettre à jour les propriétés de définition de table :

  1. Ouvrez la console AWS Glue.
  2. Cochez la case en regard du nom de la table, puis choisissez Action, View details (Afficher les détails).
  3. Choisissez Edit table (Modifier la table).
  4. Mettez à jour les paramètres pour Input format (Format d'entrée), Output format (Format de sortie) ou SerDe name (Nom du cadre SerDe).
  5. Sélectionnez Apply (Appliquer).

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

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?