Salta al contenuto

Perché il mio crawler AWS Glue non aggiunge nuove partizioni alla tabella?

3 minuti di lettura
0

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:

  1. Apri la console AWS Glue.
  2. Nel pannello di navigazione seleziona Crawler.
  3. Seleziona il crawler, quindi scegli Log per visualizzare i log sulla console Amazon CloudWatch.
  4. 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:

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?)

AWS UFFICIALEAggiornata 6 mesi fa