Comment puis-je résoudre l'erreur « ÉCHEC » : La table SemanticException n'est pas partitionnée mais les spécifications de partition existent » dans Athena ?

Lecture de 2 minute(s)
0

Lorsque j'exécute ALTER TABLE ADD PARTITION dans Amazon Athena, le message d'erreur suivant s'affiche : « ÉCHEC : La table SemanticException n'est pas partitionnée mais les spécifications de partition existent ».

Résolution

Cette erreur se produit si vous n'avez défini aucune partition dans l'instruction CREATE TABLE. Pour résoudre cette erreur, effectuez l'une des actions suivantes :

  • Recréez la table et utilisez PARTIONED BY pour définir la clé de partition.
  • Modifiez le schéma de la table.

Recréez la table

Créez à nouveau la table et utilisez PARTITIONED BY pour définir la clé de partition. Pour un exemple, consultez la rubrique Créer la table. Après avoir défini la partition, vous pouvez utiliser ALTER TABLE ADD PARTITION pour ajouter d'autres partitions.

Par exemple, si vous utilisez le langage de définition des données (DDL) suivant pour créer la table avec trois partitions pour l'année, le mois et le jour :

CREATE EXTERNAL TABLE test (
requestBeginTime string,
adId string,
...)
PARTITIONED BY (
year string,
month string,
day string
)
ROW FORMAT serde 'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION 's3://.../' ;

Ajoutez ensuite des partitions similaires aux partitions suivantes :

ALTER TABLE impressions ADD
PARTITION (year = '2016', month = '05', day='04') LOCATION 's3://mystorage/path/to/data\_14\_May\_2016/';

Modifier le schéma de la table

Pour modifier le schéma de table dans AWS Glue, procédez comme suit :

  1. Ouvrez la console AWS Glue.
  2. Choisissez le nom de la table dans la liste, puis choisissez Modifier le schéma.
  3. Choisissez Ajouter une colonne.
  4. Entrez le nom, le type et le numéro de la colonne. Cochez ensuite la case Clé de partition.
  5. Choisissez Ajouter.

Pour en savoir plus, consultez la rubrique Affichage et modification des détails d'une table.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an