

# Apache Parquet 형식으로 흐름 로그용 테이블 생성
<a name="vpc-flow-logs-parquet"></a>

다음은 Apache Parquet 형식으로 Amazon VPC 흐름 로그에 대한 Amazon VPC 테이블을 생성하는 절차입니다.

**Parquet 형식으로 Amazon VPC 흐름 로그에 대한 Athena 테이블 생성**

1. [고려 사항 및 제한 사항](vpc-flow-logs.md#vpc-flow-logs-common-considerations) 섹션의 다음 지침에 따라 Athena 콘솔 쿼리 편집기에 다음과 같은 DDL 문을 입력합니다. 다음 샘플 문은 [흐름 로그 레코드](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records)에 설명된 대로 Parquet 형식으로 Amazon VPC 흐름 로그 버전 2 \$1 5의 열을 포함하는 테이블을 만들며 Hive는 매시간 분할됩니다. 시간당 파티션이 없는 경우 `hour` 절에서 `PARTITIONED BY`를 제거합니다.

   ```
   CREATE EXTERNAL TABLE IF NOT EXISTS vpc_flow_logs_parquet (
     version int,
     account_id string,
     interface_id string,
     srcaddr string,
     dstaddr string,
     srcport int,
     dstport int,
     protocol bigint,
     packets bigint,
     bytes bigint,
     start bigint,
     `end` bigint,
     action string,
     log_status string,
     vpc_id string,
     subnet_id string,
     instance_id string,
     tcp_flags int,
     type string,
     pkt_srcaddr string,
     pkt_dstaddr string,
     region string,
     az_id string,
     sublocation_type string,
     sublocation_id string,
     pkt_src_aws_service string,
     pkt_dst_aws_service string,
     flow_direction string,
     traffic_path int
   )
   PARTITIONED BY (
     `aws-account-id` string,
     `aws-service` string,
     `aws-region` string,
     `year` string, 
     `month` string, 
     `day` string,
     `hour` string
   )
   ROW FORMAT SERDE 
     'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
   STORED AS INPUTFORMAT 
     'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
   OUTPUTFORMAT 
     'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
   LOCATION
     's3://amzn-s3-demo-bucket/prefix/AWSLogs/'
   TBLPROPERTIES (
     'EXTERNAL'='true', 
     'skip.header.line.count'='1'
     )
   ```

1. 로그 데이터가 포함된 Amazon S3 경로를 가리키도록 샘플 `LOCATION 's3://amzn-s3-demo-bucket/prefix/AWSLogs/'`을 수정합니다.

1. Athena 콘솔에서 쿼리를 실행합니다.

1. 데이터가 Hive 호환 형식인 경우 Athena 콘솔에서 다음 명령을 실행하여 메타스토어의 Hive 파티션을 업데이트 및 로드합니다. 쿼리가 완료되면 `vpc_flow_logs_parquet` 테이블에서 데이터를 쿼리할 수 있습니다.

   ```
   MSCK REPAIR TABLE vpc_flow_logs_parquet
   ```

   Hive 호환 데이터를 사용하지 않는 경우 [ALTER TABLE ADD PARTITION](alter-table-add-partition.md)을 실행하여 파티션을 로드합니다.

Athena를 사용하여 Parquet 형식으로 Amazon VPC 흐름 로그를 쿼리하는 방법에 대한 자세한 내용은 *AWS Big Data Blog*의 [Optimize performance and reduce costs for network analytics with VPC Flow Logs in Apache Parquet format](https://aws.amazon.com/blogs/big-data/optimize-performance-and-reduce-costs-for-network-analytics-with-vpc-flow-logs-in-apache-parquet-format/)을 참조하세요.