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\".

Interroga i dati JSON

Modalità Focus
Interroga i dati JSON - 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à.

Amazon Athena consente di interrogare dati con codifica JSON, estrarre dati da JSON annidato, cercare valori e trovare la lunghezza e la dimensione degli array JSON. Per apprendere le nozioni di base sull'interrogazione dei dati JSON in Athena, prendi in considerazione i seguenti dati planetari di esempio:

{name:"Mercury",distanceFromSun:0.39,orbitalPeriod:0.24,dayLength:58.65} {name:"Venus",distanceFromSun:0.72,orbitalPeriod:0.62,dayLength:243.02} {name:"Earth",distanceFromSun:1.00,orbitalPeriod:1.00,dayLength:1.00} {name:"Mars",distanceFromSun:1.52,orbitalPeriod:1.88,dayLength:1.03}

Notate come ogni record (essenzialmente, ogni riga della tabella) si trovi su una riga distinta. Per interrogare questi dati JSON, puoi usare un'CREATE TABLEistruzione come la seguente:

CREATE EXTERNAL TABLE `planets_json`( `name` string, `distancefromsun` double, `orbitalperiod` double, `daylength` double) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/json/'

Per interrogare i dati, utilizzate un'SELECTistruzione semplice come nell'esempio seguente.

SELECT * FROM planets_json

I risultati della query sono simili ai seguenti.

# nome distanza dal sole periodo orbitale durata del giorno
1 mercurio 0,39 0,24 58,65
2 Venere 0,72 0,62 243,02
3 Terra 1.0 1.0 1
4 Marte 1,52 1,88 1,03

Nota come l'CREATE TABLEistruzione utilizza ilOpenX JSON SerDe, che richiede che ogni record JSON si trovi su una riga separata. Se il JSON è in un bel formato di stampa o se tutti i record sono su una sola riga, i dati non verranno letti correttamente.

Per interrogare dati JSON in un bel formato di stampa, puoi usare Amazon Ion Hive SerDe invece di SerDe OpenX JSON. Considerate i dati precedenti memorizzati in un grazioso formato di stampa:

{ name:"Mercury", distanceFromSun:0.39, orbitalPeriod:0.24, dayLength:58.65 } { name:"Venus", distanceFromSun:0.72, orbitalPeriod:0.62, dayLength:243.02 } { name:"Earth", distanceFromSun:1.00, orbitalPeriod:1.00, dayLength:1.00 } { name:"Mars", distanceFromSun:1.52, orbitalPeriod:1.88, dayLength:1.03 }

Per interrogare questi dati senza riformattarli, puoi usare un'CREATE TABLEistruzione come la seguente. Nota che, invece di specificare OpenX SerDe JSON, l'istruzione specifica. STORED AS ION

CREATE EXTERNAL TABLE `planets_ion`( `name` string, `distancefromsun` DECIMAL(10, 2), `orbitalperiod` DECIMAL(10, 2), `daylength` DECIMAL(10, 2)) STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/json-ion/'

La query SELECT * FROM planets_ion produce gli stessi risultati di prima. Per ulteriori informazioni sulla creazione di tabelle in questo modo utilizzando Amazon Ion Hive SerDe, consultaCrea tabelle Amazon Ion.

L'esempio precedente: i dati JSON non contengono tipi di dati complessi come array o strutture annidate. Per ulteriori informazioni sull'interrogazione di dati JSON annidati, consulta. Esempio di deserializzazione di un JSON nidificato

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