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à.
Definizione e gestione dei classificatori
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 un set di classificatori predefiniti, ma puoi anche crearne di personalizzati. AWS Glue richiama per primi i classificatori personalizzati, in base all'ordine che hai specificato nella definizione del crawler. A seconda dei risultati restituiti dai classificatori personalizzati, AWS Glue può anche richiamare i classificatori predefiniti. Se un classificatore restituisce certainty=1.0
durante l'elaborazione, significa che la certezza di creare uno schema corretto è del 100%. AWS Glue usa quindi l'oputput di questo classificatore.
Se nessun classificatore restituisce certainty=1.0
, AWS Glue usa l'output del classificatore che indica la certezza maggiore. Se nessun classificatore restituisce una certezza superiore a 0.0
, AWS Glue restituisce la stringa di classificazione predefinita 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 tramite la console AWS Glue, consulta Creazione di classificatori utilizzando la console AWS Glue.
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 classificatori includono la definizione di schemi basati su modelli, XML tag e percorsi grok. 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 integrati
AWS Gluefornisce classificatori integrati per vari formati JSONCSV, tra cui registri Web e molti sistemi di database.
Se AWS Glue non trova un classificatore personalizzato appropriato al formato di dati di input con una certezza del 100%, richiama i classificatori predefiniti in base all'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. |
Binario JSON | bson |
Legge la parte iniziale del file per determinare il formato. |
XML | xml |
Legge l'inizio del file per determinare il formato. AWS Gluedetermina lo schema della tabella in base ai XML tag del documento. Per informazioni sulla creazione di un XML classificatore personalizzato per specificare le righe del documento, vedereScrittura di classificatori XML personalizzati. |
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 JDBC connessione per importare i metadati. |
Mio SQL | mysql |
Utilizza JDBC la connessione per importare i metadati. |
Postgree SQL | postgresql |
Utilizza la JDBC connessione per importare i metadati. |
Oracle database | oracle |
Utilizza la JDBC connessione per importare i metadati. |
Microsoft SQL Server | sqlserver |
Utilizza JDBC la connessione 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 contenenti 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)
CSVClassificatore integrato
Il CSV classificatore integrato analizza CSV il contenuto dei file per determinare lo schema di una tabella. AWS Glue 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 comeCSV, lo schema della tabella deve avere almeno due colonne e due righe di dati. Il CSV classificatore utilizza una serie di euristiche 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 CSV classificatore integrato determina se dedurre un'intestazione valutando le seguenti caratteristiche del file:
Ogni colonna di una potenziale intestazione viene analizzata come un 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 in una potenziale intestazione deve soddisfare i requisiti di AWS Glue in
regex
.La riga di intestazione deve essere sufficientemente diversa dalle righe di dati. Per determinare ciò, una o più righe devono essere analizzate come diverse dal tipo. STRING Se tutte le colonne sono di tipoSTRING, la prima riga di dati non è sufficientemente diversa dalle righe successive per essere utilizzata come intestazione.
Nota
Se il CSV classificatore integrato non crea la AWS Glue tabella come desideri, potresti utilizzare una delle seguenti alternative:
Modifica i nomi delle colonne nel Data Catalog, imposta su e imposta
SchemaChangePolicy
la LOG 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 CSV classificatore integrato crea tabelle che fanno riferimento alla
LazySimpleSerDe
libreria di serializzazione, una buona scelta per l'inferenza dei tipi. Tuttavia, se i CSV dati contengono stringhe tra virgolette, modificate la definizione della tabella e cambiate la libreria in. SerDeOpenCSVSerDe
Regola tutti i tipi dedottiSTRING, imposta su e impostaSchemaChangePolicy
la LOG configurazione di output delle partizioni perInheritFromTable
future esecuzioni del crawler. Per ulteriori informazioni sulle SerDe librerie, consulta SerDe Reference nella Amazon Athena User Guide.