AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Come il crawler di AWS Glue rileva lo schema?
Quando eseguo un crawler di AWS Glue, il crawler crea più tabelle con schemi simili. Desidero sapere come il crawler rileva lo schema.
Risoluzione
Rilevamento dello schema nel crawler
Durante la prima esecuzione del crawler, il crawler legge i primi 1.000 record o il primo megabyte di ogni file per dedurre lo schema. La quantità di dati letti dal crawler dipende dal formato del file e dalla disponibilità di un record valido. Ad esempio, se il file di input è un file JSON, il crawler legge il primo MB del file per dedurre lo schema.
Se il crawler legge un record valido entro il primo MB del file, ne deduce lo schema. Se il crawler non riesce a dedurre lo schema dopo 1 MB, continua a leggere fino a 10 MB del file con incrementi di 1 MB.
Per i file CSV, il crawler legge i primi 1.000 record o il primo MB di dati, a seconda dell'evento che si verifica per primo. Per i file Parquet, il crawler deduce direttamente lo schema dal file. Il crawler confronta gli schemi dedotti da tutte le sottocartelle e i file, quindi crea una o più tabelle.
Quando un crawler crea una tabella, controlla i seguenti fattori:
- I dati sono dello stesso formato, tipo di compressione e percorso incluso
- Quanto sono simili gli schemi nella soglia di partizione e nel numero di schemi diversi
Affinché un crawler consideri gli schemi simili, devono sussistere le seguenti condizioni:
- Soglia di partizione è superiore a 0,7 (70%).
- Numero massimo di schemi diversi, denominati anche "cluster" in questo contesto, non superiore a cinque.
Il crawler deduce lo schema a livello di cartella e confronta gli schemi in tutte le cartelle. Se gli schemi confrontati corrispondono a una soglia di partizione superiore al 70%, il crawler indica gli schemi come partizioni di una tabella. Se non corrispondono, il crawler crea una tabella per ogni cartella generando un numero maggiore di tabelle.
Scenari esemplificativi
Esempio 1
Nell'esempio seguente, la cartella DOC-EXAMPLE-FOLDER1 contiene 10 file, otto file con schema SCH_A e due file con schema SCH_B.
I file sono simili ai seguenti esempi:
SHC_A:
{ "id": 1, "first_name": "John", "last_name": "Doe"}{ "id": 2, "first_name": "Li", "last_name": "Juan"}
SCH_B:
{"city":"Dublin","country":"Ireland"}{"city": "Paris","country":"France"}
Quando il crawler esegue la scansione del percorso di Amazon Simple Storage Service (Amazon S3) s3://DOC-EXAMPLE-FOLDER1, crea una tabella. La tabella è composta da colonne degli schemi SCH_A e SCH_B. Questo perché l'80% dei file nel percorso appartiene allo schema SCH_A e il 20% dei file appartiene allo schema SCH_B. Quindi lo schema soddisfa il valore di soglia della partizione. Inoltre, il numero di schemi diversi non supera il numero di cluster e lo schema non supera il limite di dimensione del cluster.
Esempio 2
Nell'esempio seguente, la cartella DOC-EXAMPLE-FOLDER2 contiene 10 file, sette file con lo schema SCH_A e tre file con schema SCH_B.
Quando il crawler esegue la scansione del percorso Amazon S3 s3://DOC-EXAMPLE-FOLDER2, crea una tabella per ogni file. Questo perché il 70% dei file appartiene allo schema SCH_A e il 30% dei file appartiene allo schema SCH_B. Quindi lo schema non soddisfa la soglia di partizione.
Nota: per ottenere informazioni sulle tabelle, controlla i log del crawler in Amazon CloudWatch.
Opzioni del crawler
Quando personalizzi il comportamento del crawler, puoi scegliere una delle seguenti opzioni:
- Utilizza l'opzione Create a single schema for each S3 path(Crea un singolo schema per ogni percorso S3) per configurare il crawler in modo da ignorare la somiglianza dello schema e creare un singolo schema.
Nota: se il crawler rileva un'incompatibilità dei dati, crea comunque più tabelle. - Utilizza l'opzione del crawler a livello di tabella per specificare dove si trovano le tabelle e come desideri che il crawler crei le partizioni.
Informazioni correlate
Utilizzo dei crawler per compilare il Catalogo dati

Contenuto pertinente
AWS UFFICIALEAggiornata un anno fa