Amazon Athena
Hands-On Demo
V2
Create S3 Bucket for Athena Data
athena-queries-0982391
Go to Amazon Athena
Assign S3 Bucket to Store Query Results
Choose S3 Bucket
Saved Settings
Create Database
CREATE DATABASE mydatabase
Inspect S3 Sample Log Data
aws s3 ls s3://athena-examples-us-east-1/cloudfront/plaintext/ --human-readable
aws s3 cp s3://athena-examples-us-east-1/cloudfront/plaintext/log1 ./log1
2014-07-05 20:00:00 LHR3 4260 10.0.0.15 GET eabcd12345678.cloudfront.net /test-image-1.jpeg 200 - Mozilla/5.0%20(MacOS;%20U;%20Windows%20NT%205.1;%20en-US;%20rv:1.9.0.9)%20Gecko/2009040821%20IE/3.0.9
2014-07-05 20:00:00 MIA3 10 10.0.0.15 GET eabcd12345678.cloudfront.net /test-image-1.jpeg 304 - Mozilla/5.0%20(Linux;%20U;%20Windows%20NT%205.1;%20en-US;%20rv:1.9.0.9)%20Gecko/2009040821%20Chrome/3.0.9
Log Data Format
CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_logs (
`Date` DATE,
Time STRING,
Location STRING,
Bytes INT,
RequestIP STRING,
Method STRING,
Host STRING,
Uri STRING,
Status INT,
Referrer STRING,
ClientInfo STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
LOCATION 's3://athena-examples-us-east-1/cloudfront/plaintext/';
Create Table
CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_logs (
`Date` DATE,
Time STRING,
Location STRING,
Bytes INT,
RequestIP STRING,
Method STRING,
Host STRING,
Uri STRING,
Status INT,
Referrer STRING,
ClientInfo STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
LOCATION 's3://athena-examples-us-east-1/cloudfront/plaintext/';
Create Table
SELECT
CASE
WHEN ClientInfo LIKE '%IE/%' THEN 'Internet Explorer'
WHEN ClientInfo LIKE '%Chrome/%' THEN 'Chrome'
WHEN ClientInfo LIKE '%Firefox/%' THEN 'Firefox'
WHEN ClientInfo LIKE '%Safari/%' THEN 'Safari'
WHEN ClientInfo LIKE '%Opera/%' THEN 'Opera'
ELSE 'Other'
END AS Browser,
COUNT(*) AS RequestCount,
SUM(Bytes) AS TotalBytes
FROM cloudfront_logs
WHERE date BETWEEN date '2014-07-05' AND date '2014-08-05'
GROUP BY
CASE
WHEN ClientInfo LIKE '%IE/%' THEN 'Internet Explorer'
WHEN ClientInfo LIKE '%Chrome/%' THEN 'Chrome'
WHEN ClientInfo LIKE '%Firefox/%' THEN 'Firefox'
WHEN ClientInfo LIKE '%Safari/%' THEN 'Safari'
WHEN ClientInfo LIKE '%Opera/%' THEN 'Opera'
ELSE 'Other'
END
ORDER BY RequestCount DESC
Query
Query results
Recent Queries
Named Query - Saved Query
Named Query - Saved Query
Clean Up - Delete Database
Clean Up - S3 Delete Bucket
🙏
Thanks
for
Watching
Amazon Athena - Hands-On Demo - V2
By Deepak Dubey
Amazon Athena - Hands-On Demo - V2
Amazon Athena - Hands-On Demo - V2
- 189