Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Un classificatore legge i dati in un archivio dati. Se riconosce il formato dei dati, genera uno schema. Il classificatore inoltre restituisce un numero di certezza per indicare quanto è stato certo il riconoscimento del formato.
AWS Glue fornisce una serie di classificatori incorporati, ma è anche possibile creare classificatori personalizzati. AWS Glue richiama innanzitutto i classificatori personalizzati, nell'ordine specificato nella definizione del crawler. A seconda dei risultati restituiti dai classificatori personalizzati, AWS Glue potrebbe anche richiamare classificatori incorporati. Se un classificatore ritorna certainty=1.0
durante l'elaborazione, indica che è sicuro al 100% di poter creare lo schema corretto. AWS Glue utilizza quindi l'output di quel classificatore.
Se non viene restituito alcun classificatore, certainty=1.0
AWS Glue utilizza l'output del classificatore con la massima certezza. Se nessun classificatore restituisce una certezza maggiore di, 0.0
AWS Glue restituisce la stringa di classificazione predefinita di. UNKNOWN
Quando si utilizza un classificatore?
Puoi usare classificatori quando esegui il crawling di un datastore per definire tabelle di metadati nel AWS Glue Data Catalog. È possibile configurare il crawler con un set ordinato di classificatori. Quando il crawler richiama un classificatore, il classificatore determina se i dati vengono riconosciuti. Se il classificatore non è in grado di riconoscere i dati o non è certo al 100 percento, il crawler richiama il prossimo classificatore nell'elenco per determinare se è in grado di riconoscere i dati.
Per ulteriori informazioni sulla creazione di un classificatore utilizzando AWS Glue console, vedereCreazione di classificatori utilizzando AWS Glue console.
Classificatori personalizzati
L'output di un classificatore include una stringa che indica la classificazione del file o il formato (ad esempio, json
) e lo schema del file. Per classificatori personalizzati, è possibile definire la logica per la creazione di uno schema in base al tipo di classificatore. I tipi di classificatore includono definizioni di schemi in base a pattern grok, tag XML e percorsi JSON.
Se si modifica una definizione di classificatore, qualsiasi tipo di dati precedentemente sottoposto a crawling utilizzando il classificatore non è riclassificato. Un crawler tiene traccia dei dati precedentemente sottoposti a crawling. I nuovi dati sono classificati con il classificatore aggiornato, che potrebbe dare origine a uno schema aggiornato. Se lo schema dei dati si è evoluto, aggiornare il classificatore per verificare qualsiasi modifica dello schema quando viene eseguito il crawler. Per riclassificare i dati al fine di correggere un classificatore errato, creare un nuovo crawler con il classificatore aggiornato.
Per ulteriori informazioni sulla creazione di classificatori personalizzati in AWS Glue, consulta Scrittura di classificatori personalizzati per diversi formati di dati.
Nota
Se il formato di dati è riconosciuto da uno dei classificatori integrati, non è necessario creare un classificatore personalizzato.
Classificatori incorporati
AWS Glue fornisce classificatori integrati per vari formati, tra cui JSON, CSV, registri web e molti sistemi di database.
Se AWS Glue non trova un classificatore personalizzato che si adatti al formato dei dati di input con una certezza del 100%, richiama i classificatori integrati nell'ordine mostrato nella tabella seguente. Il classificatore integrato restituisce un risultato per indicare se il formato corrisponde (certainty=1.0
) o non, corrisponde (certainty=0.0
). Il primo classificatore con certainty=1.0
fornisce la stringa di classificazione e lo schema per una tabella di metadati nel catalogo dati.
Tipo di classificatore | Stringa di classificazione | Note |
---|---|---|
Apache Avro | avro |
Legge lo schema nella parte iniziale del file per determinare il formato. |
Apache ORC | orc |
Legge i metadati dei file per determinare il formato. |
Apache Parquet | parquet |
Legge lo schema nella parte finale del file per determinare il formato. |
JSON | json |
Legge la parte iniziale del file per determinare il formato. |
Binary JSON | bson |
Legge la parte iniziale del file per determinare il formato. |
XML | xml |
Legge la parte iniziale del file per determinare il formato. AWS Glue determina lo schema della tabella in base ai tag XML presenti nel documento. Per ulteriori informazioni su come creare un classificatore XML personalizzato per specificare le righe nel documento, consulta Scrittura di classificatori personalizzati XML. |
Amazon Ion | ion |
Legge la parte iniziale del file per determinare il formato. |
Combined Apache log | combined_apache |
Determina i formati dei log attraverso un pattern grok. |
Apache log | apache |
Determina i formati dei log attraverso un pattern grok. |
Linux kernel log | linux_kernel |
Determina i formati dei log attraverso un pattern grok. |
Microsoft log | microsoft_log |
Determina i formati dei log attraverso un pattern grok. |
Ruby log | ruby_logger |
Legge la parte iniziale del file per determinare il formato. |
Squid 3.x log | squid |
Legge la parte iniziale del file per determinare il formato. |
Redis monitor log | redismonlog |
Legge la parte iniziale del file per determinare il formato. |
Redis log | redislog |
Legge la parte iniziale del file per determinare il formato. |
CSV | csv |
Verifica dei seguenti delimitatori: virgola (,), barra verticale (|), tabulazione (\ t), punto e virgola (;) e Ctrl-A (\u0001). Ctrl-A è il carattere di controllo Unicode per Start Of
Heading . |
Amazon Redshift | redshift |
Utilizza la connessione JDBC per importare i metadati. |
MySQL | mysql |
Utilizza la connessione JDBC per importare i metadati. |
PostgreSQL | postgresql |
Utilizza la connessione JDBC per importare i metadati. |
Oracle database | oracle |
Utilizza la connessione JDBC per importare i metadati. |
Microsoft SQL Server | sqlserver |
Utilizza la connessione JDBC per importare i metadati. |
Amazon DynamoDB | dynamodb |
Legge i dati dalla tabella DynamoDB. |
I file nei seguenti formati compressi possono essere classificati:
-
ZIP (supportato per gli archivi che contengono un solo file). Il formato ZIP non è supportato in modo adeguato in altri servizi (a causa dell'archivio).
-
BZIP
-
GZIP
-
LZ4
-
Snappy (supportato sia per i formati Snappy standard che nativi Hadoop)
Classificatore CSV integrato
Il classificatore CSV integrato analizza il contenuto del file CSV per determinare lo schema di un AWS Glue tabella. Questo classificatore controlla i seguenti delimitatori:
Virgola (,)
Barra verticale (|)
Tabulazione (\t)
Punto e virgola (;)
Ctrl-A (\u0001)
Ctrl-A è il carattere di controllo Unicode per
Start Of Heading
.
Per essere classificato come CSV, lo schema della tabella deve avere almeno due colonne e due righe di dati. Il classificatore CSV utilizza una serie di procedimenti euristici per determinare se un'intestazione è presente in un determinato file. Se il classificatore non è in grado di determinare l'intestazione della prima riga di dati, le intestazioni delle colonne vengono visualizzate come col1
, col2
, col3
e così via. Il classificatore CSV integrato stabilisce se dedurre un'intestazione valutando le seguenti caratteristiche del file:
Ogni colonna in una potenziale intestazione compare come tipo di dati STRING.
Ad eccezione dell'ultima colonna, ogni colonna in una potenziale intestazione contiene meno di 150 caratteri. Per consentire un delimitatore finale, l'ultima colonna può essere vuota in tutto il file.
Ogni colonna di una potenziale intestazione deve soddisfare il AWS Glue
regex
requisiti per il nome di una colonna.La riga di intestazione deve essere sufficientemente diversa dalle righe di dati. Per determinarla, una o più righe devono comparire come diverse dal tipo STRING. Se tutte le colonne sono di tipo STRING, la prima riga di dati non è abbastanza diversa dalle righe successive per essere utilizzata come intestazione.
Nota
Se il classificatore CSV integrato non crea il tuo AWS Glue nella tabella che desideri, potresti essere in grado di utilizzare una delle seguenti alternative:
Modifica i nomi delle colonne nel catalogo dati, imposta
SchemaChangePolicy
su LOG e imposta la configurazione di output della partizione suInheritFromTable
per le future esecuzioni del crawler.Creare un classificatore grok personalizzato per analizzare i dati e assegnare le colonne desiderate.
Il classificatore CSV integrato crea tabelle referenziando
LazySimpleSerDe
come libreria di serializzazione, che è una valida scelta per l'inferenza del tipo. Tuttavia, se i dati CSV contengono stringhe tra virgolette, modifica la definizione della tabella e cambia la SerDe libreria in.OpenCSVSerDe
Modificare tutti i tipi dedotti in STRING, impostareSchemaChangePolicy
su LOG e impostare la configurazione di output delle partizioni suInheritFromTable
per le future esecuzioni del crawler. Per ulteriori informazioni sulle SerDe librerie, consulta SerDe Reference nella Amazon Athena User Guide.