

# Resolver 쿼리 로그용 테이블 생성
<a name="querying-r53-resolver-logs-creating-the-table"></a>

Athena 콘솔에서 쿼리 편집기를 사용하여 Route 53 Resolver 쿼리 로그에 대한 테이블을 만들고 쿼리할 수 있습니다.

**Route 53 Resolver 쿼리 로그에 대해 Athena 테이블을 만들고 쿼리하려면**

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)에서 Athena 콘솔을 엽니다.

1. Athena 쿼리 편집기에 다음 `CREATE TABLE` 문을 입력합니다. `LOCATION` 절의 값을 Amazon S3의 Resolver 로그 위치에 상응하는 값으로 바꿉니다.

   ```
   CREATE EXTERNAL TABLE r53_rlogs (
     version string,
     account_id string,
     region string,
     vpc_id string,
     query_timestamp string,
     query_name string,
     query_type string,
     query_class
       string,
     rcode string,
     answers array<
       struct<
         Rdata: string,
         Type: string,
         Class: string>
       >,
     srcaddr string,
     srcport int,
     transport string,
     srcids struct<
       instance: string,
       resolver_endpoint: string
       >,
     firewall_rule_action string,
     firewall_rule_group_id string,
     firewall_domain_list_id string
    )
        
   ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
   LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/aws_account_id/vpcdnsquerylogs/{vpc-id}/'
   ```

   Resolver 쿼리 로그 데이터는 JSON 형식이기 때문에 CREATE TABLE 문은 [JSON SerDe 라이브러리](json-serde.md)를 사용하여 데이터를 분석합니다.
**참고**  
SerDe는 각 JSON 문서가 레코드의 필드를 구분하는 줄 종료 문자가 없는 한 줄의 텍스트에 있을 것으로 예상합니다. JSON 텍스트가 가독성 좋게 꾸민 형식이면 테이블을 만든 후 쿼리하려고 할 때 HIVE\$1CURSOR\$1ERROR: 행이 유효한 JSON 객체가 아님(HIVE\$1CURSOR\$1ERROR: Row is not a valid JSON Object) 또는 HIVE\$1CURSOR\$1ERROR: JsonParseException: 예기치 않은 입력 종료: OBJECT의 닫기 마커 필요(HIVE\$1CURSOR\$1ERROR: JsonParseException: Unexpected end-of-input: expected close marker for OBJECT) 같은 오류 메시지가 나타날 수 있습니다. 자세한 내용은 GitHub의 OpenX SerDe 문서에서 [JSON 데이터 파일](https://github.com/rcongiu/Hive-JSON-Serde#json-data-files)을 참조하세요.

1. **쿼리 실행**을 선택합니다. 이 문은 `r53_rlogs`라는 Athena 테이블을 만듭니다. 이 테이블의 열은 Resolver 로그 데이터의 각 필드를 나타냅니다.

1. Athena 콘솔 쿼리 편집기에서 다음 쿼리를 실행하여 테이블이 생성되었는지 확인합니다.

   ```
   SELECT * FROM "r53_rlogs" LIMIT 10
   ```