本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 CloudFront 標準日誌的資料表
注意
下列程序適用於 中的 Web 分佈存取日誌 CloudFront。它不適用於從RTMP分佈串流日誌。
為 CloudFront 標準日誌檔案欄位建立資料表
-
將下列範例DDL陳述式複製並貼到 Athena 主控台的查詢編輯器。範例陳述式使用 Amazon CloudFront 開發人員指南的標準日誌檔案欄位區段中記錄的日誌檔案欄位。為存放日誌的 Amazon S3 儲存貯體修改
LOCATION
。如需有關使用查詢編輯器的資訊,請參閱開始使用。此查詢會指定
ROW FORMAT DELIMITED
和 ,FIELDS TERMINATED BY '\t'
指出欄位以標籤字元分隔。針對ROW FORMAT DELIMITED
,Athena LazySimpleSerDe 預設會使用 。因為在 Athena 中它是保留字,所以使用反引號 (') 逸出date
資料欄。如需相關資訊,請參閱 在查詢中逸出保留關鍵字。CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_standard_logs ( `date` DATE, time STRING, x_edge_location STRING, sc_bytes BIGINT, c_ip STRING, cs_method STRING, cs_host STRING, cs_uri_stem STRING, sc_status INT, cs_referrer STRING, cs_user_agent STRING, cs_uri_query STRING, cs_cookie STRING, x_edge_result_type STRING, x_edge_request_id STRING, x_host_header STRING, cs_protocol STRING, cs_bytes BIGINT, time_taken FLOAT, x_forwarded_for STRING, ssl_protocol STRING, ssl_cipher STRING, x_edge_response_result_type STRING, cs_protocol_version STRING, fle_status STRING, fle_encrypted_fields INT, c_port INT, time_to_first_byte FLOAT, x_edge_detailed_result_type STRING, sc_content_type STRING, sc_content_len BIGINT, sc_range_start BIGINT, sc_range_end BIGINT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION 's3://amzn-s3-demo-bucket/' TBLPROPERTIES ( 'skip.header.line.count'='2' )
-
在 Athena 主控台中執行查詢。查詢完成之後,Athena 會註冊
cloudfront_standard_logs
資料表,讓其中的資料可供您發出查詢。
查詢範例
下列查詢會加總 CloudFront 2018 年 6 月 9 日至 6 月 11 日期間由 提供的位元組數。以雙引號圍住日期欄名稱,因為它是保留字。
SELECT SUM(bytes) AS total_bytes FROM cloudfront_standard_logs WHERE "date" BETWEEN DATE '2018-06-09' AND DATE '2018-06-11' LIMIT 100;
若要從查詢結果中除去重複的資料列 (例如,重複的空白資料列),您可以使用 SELECT DISTINCT
陳述式,如下列範例所示。
SELECT DISTINCT * FROM cloudfront_standard_logs LIMIT 10;