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

alveare JSON SerDe

The Hive JSON SerDe è comunemente usato per elaborare JSON dati come eventi. Questi eventi sono rappresentati come stringhe a riga singola di testo con JSON codifica separate da una nuova riga. Hive JSON SerDe non consente la duplicazione di chiavi o nomi di chiavi. map struct

Nota

SerDe Si aspetta che ogni JSON documento si trovi su una singola riga di testo senza caratteri di terminazione di riga che separano i campi del record. Se il JSON testo è in un bel formato di stampa, potresti ricevere un messaggio di errore come HIVE_ CURSOR _ERROR: Row is not a valid JSON Object o HIVE _ CURSOR _ERROR:: Unexpected JsonParseException end-of-input: un indicatore di chiusura previsto per OBJECT quando tenti di interrogare la tabella dopo averla creata. Per ulteriori informazioni, consulta File di JSON dati nella SerDe documentazione di OpenX su. GitHub

La seguente DDL dichiarazione di esempio utilizza Hive JSON SerDe per creare una tabella basata su esempi di dati pubblicitari online. Nella LOCATION clausola, sostituire il myregion accedi s3://amzn-s3-demo-bucket.elasticmapreduce/samples/hive-ads/tables/impressions con l'identificatore della regione in cui esegui Athena (ad esempios3://us-west-2.elasticmapreduce/samples/hive-ads/tables/impressions,).

CREATE EXTERNAL TABLE impressions ( requestbegintime string, adid string, impressionid string, referrer string, useragent string, usercookie string, ip string, number string, processid string, browsercookie string, requestendtime string, timers struct < modellookup:string, requesttime:string >, threadid string, hostname string, sessionid string ) PARTITIONED BY (dt string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' LOCATION 's3://amzn-s3-demo-bucket.elasticmapreduce/samples/hive-ads/tables/impressions';

Specificate i formati di timestamp con Hive JSON SerDe

Per analizzare i valori del timestamp dalla stringa, è possibile aggiungere il sottocampo WITH SERDEPROPERTIES per la clausola ROW FORMAT SERDE e usarla per specificare il parametro timestamp.formats. Nel parametro specifica un elenco separato da virgole di uno o più modelli di timestamp, come nell'esempio seguente:

... ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' WITH SERDEPROPERTIES ("timestamp.formats"="yyyy-MM-dd'T'HH:mm:ss.SSS'Z',yyyy-MM-dd'T'HH:mm:ss") ...

Per ulteriori informazioni, consulta Marche temporali nella documentazione di Apache Hive.

Carica la tabella per l'interrogazione

Dopo aver creato la tabella, eseguire MSCK REPAIR TABLE per caricare la tabella e renderla eseguibile da Athena:

MSCK REPAIR TABLE impressions

Registri delle CloudTrail interrogazioni

Puoi usare Hive JSON SerDe per interrogare CloudTrail i log. Per ulteriori informazioni ed esempi delle istruzioni CREATE TABLE, consulta la pagina AWS CloudTrail Registri delle interrogazioni.