Creación de una tabla para registros en tiempo real de CloudFront - Amazon Athena

Creación de una tabla para registros en tiempo real de CloudFront

Cómo crear una tabla para los campos de los archivos de registro en tiempo real de CloudFront
  1. Copie y pegue la siguiente instrucción DDL de ejemplo en el Editor de consultas de la consola de Athena. La instrucción de ejemplo utiliza los campos del archivo de registro documentados en la sección Registros en tiempo real de la Guía para desarrolladores de Amazon CloudFront. Modifique el valor de LOCATION para indicar el bucket de Amazon S3 donde se almacenan los registros. Para obtener información sobre cómo usar el Editor de consultas, consulte Introducción.

    Esta consulta especifica ROW FORMAT DELIMITED y FIELDS TERMINATED BY '\t' para indicar que los campos están delimitados por caracteres de tabulación. Para ROW FORMAT DELIMITED, Athena utiliza LazySimpleSerDe de forma predeterminada. La columna timestamp se ha incluido en una secuencia de escape con acentos graves (`) porque es una palabra reservada en Athena. Para obtener más información, consulte Aplicación de caracteres de escape a las palabras clave reservadas de las consultas.

    El siguiente ejemplo contiene todos los campos disponibles. Puede añadir comentarios en los campos o eliminar los que no necesite.

    CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_real_time_logs ( `timestamp` STRING, c_ip STRING, time_to_first_byte BIGINT, sc_status BIGINT, sc_bytes BIGINT, cs_method STRING, cs_protocol STRING, cs_host STRING, cs_uri_stem STRING, cs_bytes BIGINT, x_edge_location STRING, x_edge_request_id STRING, x_host_header STRING, time_taken BIGINT, cs_protocol_version STRING, c_ip_version STRING, cs_user_agent STRING, cs_referer STRING, cs_cookie STRING, cs_uri_query STRING, x_edge_response_result_type STRING, x_forwarded_for STRING, ssl_protocol STRING, ssl_cipher STRING, x_edge_result_type STRING, fle_encrypted_fields STRING, fle_status STRING, sc_content_type STRING, sc_content_len BIGINT, sc_range_start STRING, sc_range_end STRING, c_port BIGINT, x_edge_detailed_result_type STRING, c_country STRING, cs_accept_encoding STRING, cs_accept STRING, cache_behavior_path_pattern STRING, cs_headers STRING, cs_header_names STRING, cs_headers_count BIGINT, primary_distribution_id STRING, primary_distribution_dns_name STRING, origin_fbl STRING, origin_lbl STRING, asn STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION 's3://amzn-s3-demo-bucket/' TBLPROPERTIES ( 'skip.header.line.count'='2' )
  2. Ejecute la consulta en la consola de Athena. Cuando la consulta finaliza, Athena registra la tabla cloudfront_real_time_logs, dejando los datos que contiene listos para efectuar consultas.