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

Quando il crawler esegue la scansione dei file di dati di origine in una nuova partizione, confronta i seguenti attributi dei file di origine con quelli della tabella esistente:

  • Formato del file
  • Tipo di compressione
  • Schema
  • Struttura delle partizioni Amazon Simple Storage Service (Amazon S3)

Se uno di questi attributi della partizione differisce dagli attributi della tabella, la partizione viene ignorata e non viene aggiunta ai metadati. Una differenza nel nome, nella sequenza o nel numero di partizioni nel percorso Amazon S3 è considerata una modifica dello schema o della struttura della partizione.

Risoluzione

Risolvere il problema

Controlla i log del crawler per identificare il problema:

  1. Apri la console AWS Glue.
  2. Nel pannello di navigazione, scegli Crawler.
  3. Seleziona il crawler, quindi scegli il link Log per visualizzare i log sulla console CloudWatch.
  4. Controlla 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. Questo può accadere quando la struttura della partizione 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.

Risolvere il problema

In base alle informazioni contenute nei log di CloudWatch, prendi in considerazione uno o più dei seguenti metodi per la risoluzione:

  • Se il problema è causato da una struttura di partizione incoerente, rendi coerente la struttura rinominando il percorso S3 manualmente o a livello di codice.
  • Se la partizione viene saltata a causa di una mancata corrispondenza del formato del file, del formato di compressione o dello schema e non è necessario includere i dati nella tabella desiderata, valuta gli approcci seguenti:
  • Usa uno schema di esclusione per saltare i file indesiderati.
  • Sposta il file indesiderato in una posizione diversa.
  • Se i tuoi dati hanno schemi diversi in alcuni file di input e schemi simili in altri file di input, combina gli schemi compatibili quando crei il crawler. Nella pagina Configurare l'output del crawler, in Comportamento di raggruppamento per i dati S3 (opzionale), seleziona Crea un singolo schema per ogni percorso S3. Quando questa impostazione è attivata e i dati sono compatibili, il crawler ignora la somiglianza di schemi specifici quando valuta gli oggetti S3 nel percorso di inclusione specificato. Per ulteriori informazioni, consulta Come creare un singolo schema per ogni percorso di inclusione di Amazon S3.
  • Se il crawler crea più tabelle, consulta Come faccio a impedire che il crawler di AWS Glue crei più tabelle?

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa