Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Avro SerDe

Modalità Focus

In questa pagina

Avro SerDe - Amazon Athena

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à.

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à.

Usa Avro SerDe per creare tabelle Athena dai dati Avro.

Nome della libreria di serializzazione

Il nome della libreria di serializzazione per SerDe Avro è. org.apache.hadoop.hive.serde2.avro.AvroSerDe Per informazioni tecniche, consulta la documentazione AvroSerDedi Apache.

Usa l'Avro SerDe

Per motivi di sicurezza, Athena non supporta l'utilizzo avro.schema.url per specificare lo schema della tabella; utilizza avro.schema.literal invece.

Per estrarre lo schema dai dati in formato Avro, utilizzate il avro-tools-<version>.jar file Apache che si trova nella java sottodirectory della versione Avro installata. Utilizzate il getschema parametro per restituire uno schema che potete usare nella vostra WITH SERDEPROPERTIES dichiarazione, come nell'esempio seguente.

java -jar avro-tools-1.8.2.jar getschema my_data.avro

Per scaricare Avro, consulta la pagina relativa alle release di Apache Avro. Per scaricare direttamente gli strumenti Apache Avro, accedi all'apposita pagina del repository Maven Apache Avro.

Dopo aver ottenuto lo schema, utilizza un'CREATE TABLEistruzione per creare una tabella Athena basata sui dati Avro sottostanti archiviati in Amazon S3. Per specificare l'Avro SerDe nella tua CREATE TABLE dichiarazione, usa. ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' Specificate lo schema utilizzando la WITH SERDEPROPERTIES clausola, come nell'esempio seguente.

Nota

Replace (Sostituisci) myregion accedi s3://athena-examples-myregion/path/to/data/ con l'identificatore della regione in cui esegui Athena, ad esempio. s3://athena-examples-us-west-1/path/to/data/

CREATE EXTERNAL TABLE flights_avro_example ( yr INT, flightdate STRING, uniquecarrier STRING, airlineid INT, carrier STRING, flightnum STRING, origin STRING, dest STRING, depdelay INT, carrierdelay INT, weatherdelay INT ) PARTITIONED BY (year STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' WITH SERDEPROPERTIES ('avro.schema.literal'=' { "type" : "record", "name" : "flights_avro_subset", "namespace" : "default", "fields" : [ { "name" : "yr", "type" : [ "null", "int" ], "default" : null }, { "name" : "flightdate", "type" : [ "null", "string" ], "default" : null }, { "name" : "uniquecarrier", "type" : [ "null", "string" ], "default" : null }, { "name" : "airlineid", "type" : [ "null", "int" ], "default" : null }, { "name" : "carrier", "type" : [ "null", "string" ], "default" : null }, { "name" : "flightnum", "type" : [ "null", "string" ], "default" : null }, { "name" : "origin", "type" : [ "null", "string" ], "default" : null }, { "name" : "dest", "type" : [ "null", "string" ], "default" : null }, { "name" : "depdelay", "type" : [ "null", "int" ], "default" : null }, { "name" : "carrierdelay", "type" : [ "null", "int" ], "default" : null }, { "name" : "weatherdelay", "type" : [ "null", "int" ], "default" : null } ] } ') STORED AS AVRO LOCATION 's3://athena-examples-myregion/flight/avro/';

Esegui l'istruzione MSCK REPAIR TABLE sulla tabella per aggiornare i metadati della partizione.

MSCK REPAIR TABLE flights_avro_example;

Esegui una query per trovare le prime 10 città in base al numero totale di partenze.

SELECT origin, count(*) AS total_departures FROM flights_avro_example WHERE year >= '2000' GROUP BY origin ORDER BY total_departures DESC LIMIT 10;
Nota

I dati della tabella di volo provengono da Flights e sono forniti dal Dipartimento dei Trasporti degli Stati Uniti, Ufficio delle statistiche sui trasporti. Desaturati dall'originale.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.