Perché il mio crawler AWS Glue non aggiunge nuove partizioni alla tabella?
Il mio crawler AWS Glue non aggiunge nuove partizioni alla tabella.
Breve descrizione
AWS Glue considera una differenza nel nome, nella sequenza o nel numero di partizioni nel percorso Amazon Simple Storage Service (Amazon S3) come una modifica dello schema o della struttura delle partizioni. I crawler scansionano i file di dati di origine in una nuova partizione e ne confrontano i seguenti attributi con quelli della tabella esistente:
- Formato del file
- Tipo di compressione
- Schema
- Struttura delle partizioni Amazon S3
Se uno di questi attributi della partizione è diverso dagli attributi della tabella, AWS Glue salta la partizione e non aggiorna i metadati.
Risoluzione
Risolvi il problema
Per identificare il problema verificando i log del crawler, completa i seguenti passaggi:
- Apri la console AWS Glue.
- Nel pannello di navigazione seleziona Crawler.
- Seleziona il crawler, quindi scegli Log per visualizzare i log sulla console Amazon CloudWatch.
- Verifica i log per verificare se il crawler ha saltato la nuova partizione.
Ad esempio, supponiamo che il log includa voci simili alle seguenti:
Folder partition keys do not match table partition keys, skipped folder: doc-example-bucket/doc-example-path/doc-example-table/year=2021/month=01/sday=05/
Questa voce suggerisce che la struttura delle partizioni per la posizione Amazon S3 non corrisponde alle chiavi di partizione definite per la tabella. Ciò può accadere quando la struttura delle partizioni non è coerente nella posizione di origine della tabella.
Se il crawler di AWS Glue crea più tabelle, le voci del log sono simili alle seguenti:
INFO : Created table doc-example-table in database doxtest_db
Se vedi log simili, confronta lo schema e la struttura delle partizioni della posizione di queste tabelle con quelli della tabella originale.
Risolvi il problema
Aggiorna la struttura delle partizioni
Se il problema è causato da una struttura delle partizioni non coerente, rinomina manualmente o a livello di codice la struttura in modo che sia coerente.
Escludi file specifici
AWS Glue potrebbe saltare una partizione per uno dei seguenti motivi:
- Formati di file non corrispondenti
- Formato di compressione
- Problemi relativi allo schema
Se AWS Glue salta una partizione per uno di questi motivi e i dati non sono necessari nella tabella, completa una delle seguenti azioni:
- Utilizza uno schema di esclusione per saltare i file indesiderati. Per ulteriori informazioni, consulta Scelta delle origini dei dati e dei classificatori.
- Sposta il file indesiderato in una posizione diversa.
Combina schemi compatibili
Se i dati hanno schemi simili in diversi file di input, combina gli schemi compatibili quando crei il crawler. Nella pagina Configure the crawler's output (Configura l'output del crawler), in Grouping behavior for S3 data (optional) (Comportamento di raggruppamento per i dati S3 (opzionale)), seleziona Create a single schema for each S3 path (Crea un singolo schema per ogni percorso S3). Quando attivi questa impostazione e i dati sono compatibili, il crawler ignora la somiglianza di schemi specifici per oggetti S3 nel percorso specificato. Per ulteriori informazioni, consulta Creazione di un unico schema per ogni percorso di inclusione di Amazon S3.
Evita l'utilizzo di più tabelle
Se il crawler crea più tabelle, consulta How do I prevent the creation of multiple tables during an AWS Glue crawler run? (Come posso impedire la creazione di più tabelle durante l'esecuzione di un crawler AWS Glue?)

Contenuto pertinente
AWS UFFICIALEAggiornata 3 anni fa