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à.
Utilizzo del formato Avro in AWS Glue
AWS Glue recupera i dati dalle origini e scrive i dati sulle destinazioni archiviati e trasportati in vari formati di dati. Se i tuoi dati sono archiviati o trasportati nel formato dati Avro, questo documento descrive le funzioni disponibili per l'utilizzo dei tuoi dati in AWS Glue.
AWS Glue supporta l'uso del formato Avro. Questo formato è un formato dati basato su righe orientato alle prestazioni. Per un'introduzione al formato da parte dell'autorità degli standard, consulta la Documentazione di Apache Avro 1.8.2
Puoi utilizzare AWS Glue per leggere file Avro da Amazon S3 e da origini di streaming, nonché scrivere file Avro in Amazon S3. Puoi leggere e scrivere archivi bzip2
e gzip
contenenti file Avro da S3. Inoltre, è possibile scrivere archivi deflate
, snappy
e xz
contenenti file Avro. Puoi configurare il comportamento di compressione sul Parametri di connessione di S3 invece che nella configurazione discussa in questa pagina.
La tabella seguente mostra le operazioni comuni di AWS Glue che supportano l'opzione del formato Avro.
Lettura | Scrittura | Lettura in streaming | Gruppo di file piccoli | Segnalibri di processo |
---|---|---|---|---|
Supportato | Supportato | Supportato* | Non supportato. | Supportato |
* Supportato con restrizioni. Per ulteriori informazioni, consulta Note e restrizioni per le origini di streaming Avro.
Esempio: lettura di cartelle o file Avro da S3
Prerequisiti: occorrono i percorsi S3 (s3path
) nelle cartelle o nei file Avro da leggere.
Configurazione: nelle opzioni della funzione, specifica format="avro"
. In connection_options
, utilizza la chiave paths
per specificare s3path
. Puoi configurare il modo in cui il reader interagisce con S3 in connection_options
. Per i dettagli, consulta le Opzioni del formato dati per input e output ETL in AWS Glue: Indicazioni di riferimento alle opzioni di connessione ad Amazon S3. Puoi configurare la modalità con cui il reader interpreta i file Avro CSV in format_options
. Per i dettagli, consulta Documentazione di riferimento della configurazione Avro.
Lo script ETL di AWS Glue riportato di seguito mostra il processo di lettura di cartelle o file Avro da S3:
Esempio: scrittura di file e cartelle Avro in S3
Prerequisiti: avrai bisogno di un DataFrame inizializzato (dataFrame
) o di un DynamicFrame (dynamicFrame
). Avrai bisogno anche del tuo percorso di output S3 previsto, s3path
.
Configurazione: nelle opzioni della funzione, specifica format="avro"
. Nelle tue connection_options
, utilizza la chiave paths
per specificare s3path
. Puoi modificare ulteriormente il modo in cui il writer interagisce con S3 nelle connection_options
. Per i dettagli, consulta le Opzioni del formato dati per input e output ETL in AWS Glue: Indicazioni di riferimento alle opzioni di connessione ad Amazon S3. Puoi modificare la modalità con cui il writer interpreta i file Avro in format_options
. Per i dettagli, consulta Documentazione di riferimento della configurazione Avro.
Lo script ETL di AWS Glue riportato di seguito mostra il processo di scrittura di cartelle o file Avro in S3.
Documentazione di riferimento della configurazione Avro
Puoi utilizzare i seguenti valori format_options
dove le librerie di AWS Glue specificano format="avro"
:
version
: specifica la versione del formato di lettura/scrittura Apache Avro da supportare. Il valore predefinito è 1.7. Puoi specificareformat_options={"version": “1.8”}
per abilitare la lettura e la scrittura del tipo logico Avro. Per ulteriori informazioni, consulta Specifiche di Apache Avro 1.7.7e Specifiche di Apache Avro 1.8.2 . Il connettore Apache Avro 1.8 supporta le seguenti conversioni di tipo logico:
Per le operazioni di lettura: questa tabella mostra la conversione tra il tipo di dati Avro (tipo logico e tipo primitivo Avro) e il tipo di dati AWS Glue DynamicFrame
per le operazioni di lettura Avro 1.7 e 1.8.
Tipo di dati Avro: Tipo logico |
Tipo di dati Avro: Tipi primitivi .NET |
Tipo di dati GluedyNamicFrame: Avro Reader 1.7 |
Tipo di dati GluedyNamicFrame: Avro Reader 1.8 |
---|---|---|---|
Decimale | byte | BINARY | Decimale |
Decimale | fisso | BINARY | Decimale |
Data | int | INT | Data |
Tempo (millisecondi) | int | INT | INT |
Tempo (microsecondi) | Long | LONG | LONG |
Timestamp (millisecondi) | Long | LONG | Time stamp |
Timestamp (microsecondi) | Long | LONG | LONG |
Durata (non un tipo logico) | fisso di 12 | BINARY | BINARY |
Per le operazioni di scrittura: questa tabella mostra la conversione tra il tipo di dati AWS Glue DynamicFrame
e il tipo di dati Avro per le operazioni di scrittura Avro 1.7 e 1.8.
Tipo di dati AWS Glue DynamicFrame |
Tipo di dati Avro: Avro Writer 1.7 |
Tipo di dati Avro: Avro Writer 1.8 |
---|---|---|
Decimale | Stringa | decimal |
Data | Stringa | date |
Timestamp | Stringa | timestamp-micros |
Supporto Avro di Spark DataFrame
Per utilizzare Avro dall'API di Spark DataFrame, devi installare il plugin Spark Avro per la versione di Spark corrispondente. La versione di Spark disponibile nel processo è determinata dalla versione di AWS Glue. Per ulteriori informazioni sulle versioni di Spark, consulta Versioni AWS Glue. Questo plugin è gestito da Apache; non forniamo garanzie specifiche sul supporto.
In AWS Glue 2.0: utilizza la versione 2.4.3 del plugin Spark Avro. Puoi trovare questo JAR su Maven Central, consulta org.apache.spark:spark-avro_2.12:2.4.3
In AWS Glue 3.0: utilizza la versione 3.1.1 del plugin Spark Avro. Puoi trovare questo JAR su Maven Central, consulta org.apache.spark:spark-avro_2.12:3.1.1
Per includere JAR aggiuntivi in un processo ETL di AWS Glue, usa il parametro di processo --extra-jars
. Per ulteriori informazioni sui parametri di processo, consulta Parametri del processo AWS Glue. Puoi configurare questo parametro anche nella AWS Management Console.