Crea e interroga una tabella di base basata sui file di EMR log di Amazon - 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à.

Crea e interroga una tabella di base basata sui file di EMR log di Amazon

Nell'esempio seguente viene creata una tabella di base myemrlogs, basata sui file di log salvati in s3://aws-logs-123456789012-us-west-2/elasticmapreduce/j-2ABCDE34F5GH6/elasticmapreduce/. La posizione Amazon S3 utilizzata negli esempi seguenti riflette lo schema della posizione di registro predefinita per un EMR cluster creato dall'account Amazon Web Services. 123456789012 nella regione us-west-2. Se utilizzi una posizione personalizzata, lo schema è s3://amzn-s3-demo-bucket/ClusterID.

Per informazioni sulla creazione di una tabella partizionata per migliorare potenzialmente le prestazioni delle query e ridurre il trasferimento dei dati, consulta Crea e interroga una tabella partizionata basata sui log di Amazon EMR.

CREATE EXTERNAL TABLE `myemrlogs`( `data` string COMMENT 'from deserializer') ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://aws-logs-123456789012-us-west-2/elasticmapreduce/j-2ABCDE34F5GH6'

Query di esempio

Le query di esempio seguenti possono essere eseguite sulla tabella myemrlogs creata dall'esempio precedente.

Esempio — Interroga i log delle fasi per individuare le occorrenze diERROR,WARN,INFO,EXCEPTION, o FATAL DEBUG
SELECT data, "$PATH" FROM "default"."myemrlogs" WHERE regexp_like("$PATH",'s-86URH188Z6B1') AND regexp_like(data, 'ERROR|WARN|INFO|EXCEPTION|FATAL|DEBUG') limit 100;
Esempio — Interroga un registro di istanza specifico, i-00b3c0a839ece0a9c, per,,, o ERROR WARN INFO EXCEPTION FATAL DEBUG
SELECT "data", "$PATH" AS filepath FROM "default"."myemrlogs" WHERE regexp_like("$PATH",'i-00b3c0a839ece0a9c') AND regexp_like("$PATH",'state') AND regexp_like(data, 'ERROR|WARN|INFO|EXCEPTION|FATAL|DEBUG') limit 100;
Esempio — Interroga WARN presto i log ERROR delle applicazioni EXCEPTION perINFO,FATAL,,, o DEBUG
SELECT "data", "$PATH" AS filepath FROM "default"."myemrlogs" WHERE regexp_like("$PATH",'presto') AND regexp_like(data, 'ERROR|WARN|INFO|EXCEPTION|FATAL|DEBUG') limit 100;
Esempio — Interroga i log delle applicazioni Namenode perERROR,,,,WARN, o INFO EXCEPTION FATAL DEBUG
SELECT "data", "$PATH" AS filepath FROM "default"."myemrlogs" WHERE regexp_like("$PATH",'namenode') AND regexp_like(data, 'ERROR|WARN|INFO|EXCEPTION|FATAL|DEBUG') limit 100;
Esempio — Interroga tutti i log per data e ora perERROR,,,,WARN, o INFO EXCEPTION FATAL DEBUG
SELECT distinct("$PATH") AS filepath FROM "default"."myemrlogs" WHERE regexp_like("$PATH",'2019-07-23-10') AND regexp_like(data, 'ERROR|WARN|INFO|EXCEPTION|FATAL|DEBUG') limit 100;