Come posso risolvere l'errore "FALLITO: La tabella SemanticException non è partizionata, ma esiste una specifica di partizione" in Athena?

2 minuti di lettura
0

Quando eseguo ALTERA TABELLA AGGIUNGI PARTIZIONE in Amazon Athena, ricevo questo errore: "FALLITO: La tabella SemanticException non è partizionata, ma esiste una specifica di partizione".

Risoluzione

Questo errore si verifica se non hai definito alcuna partizione nell'istruzione CREA TABELLA. Per risolvere questo errore, esegui una delle seguenti azioni:

  • Ricrea la tabella e usa PARTIZIONATO DA per definire la chiave di partizione.
  • Modifica lo schema della tabella.

Ricrea la tabella

Crea nuovamente la tabella e usa PARTIZIONATO DA per definire la chiave di partizione. Per un esempio, leggere Creare la tabella. Dopo aver definito la partizione, puoi usare ALTERA TABELLA AGGIUNGI PARTIZIONE per aggiungere altre partizioni.

Ad esempio, se utilizzi il seguente linguaggio di definizione dei dati (DDL) per creare una tabella con tre partizioni per anno, mese e giorno:

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://.../' ;

Quindi, aggiungi le partizioni simili alle seguenti:

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

Modifica lo schema della tabella

Per modificare lo schema della tabella in AWS Glue, procedi come segue:

  1. Apri la console AWS Glue.
  2. Scegli il nome della tabella nell'elenco, quindi scegli Modifica schema.
  3. Scegli Aggiungi colonna.
  4. Inserisci il nome della colonna, il tipo e il numero. Quindi, seleziona la casella Chiave di partizione.
  5. Scegli Aggiungi.

Per ulteriori informazioni, vedi Visualizzazione e modifica dei dettagli della tabella.

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa