Desidero risolvere i problemi relativi alle partizioni mancanti dopo aver eseguito una scansione incrementale di AWS Glue.
Breve descrizione
Quando un crawler AWS Glue esegue una scansione incrementale, identifica solo le partizioni che il crawler ha aggiunto dopo la scansione precedente. Per aggiungere la partizione, più del 70% dei file di una partizione deve avere lo stesso schema della tabella del crawler.
Importante: un crawler AWS Glue non può aggiungere una partizione precedentemente contrassegnata come avente uno schema non corrispondente. Prima di eseguire il crawler, è consigliabile assicurarsi che tutte le proprietà della nuova partizione corrispondano alle proprietà della tabella originale.
Risoluzione
Apri il log di Amazon CloudWatch che corrisponde all'ultima scansione del crawler, quindi cerca il prefisso Amazon Simple Storage Service (Amazon S3) della nuova partizione. Se lo schema della nuova partizione e lo schema della tabella originale non corrispondono, viene visualizzato il messaggio "Partition does not match table schema or has mismatch keys".
Se ricevi tale messaggio di errore, verifica la corrispondenza tra le seguenti proprietà della nuova partizione e della tabella originale:
- Formato di compressione
- Tipo di file
- Schema dei file
Assicurati che la struttura S3 della nuova partizione corrisponda alla struttura S3 della tabella originale. Ad esempio, se la struttura S3 della tabella originale utilizza il formato di data aaaa-mm-gg, anche la struttura S3 della nuova partizione deve utilizzare il formato di data aaaa-mm-gg. Se le proprietà non corrispondono, modifica i file nella nuova partizione in modo che corrispondano alla tabella originale.
Quindi usa Athena per aggiungere la nuova partizione alla tabella. Per le partizioni in stile hive, esegui il comando MSCK REPAIR TABLE. Per le partizioni in stile non hive, esegui il comando ALTER TABLE ADD PARTITION.