

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creare tabelle per il flusso di log in formato Apache Parquet
<a name="vpc-flow-logs-parquet"></a>

La procedura seguente consente di creare una tabella Amazon VPC per il flusso di log di Amazon VPC in formato Apache Parquet.

**Per creare una tabella Athena per il flusso di log di Amazon VPC in formato Parquet**

1. Inserire un'istruzione DDL come la seguente nell'editor di query della console Athena, seguendo le linee guida riportate nella sezione [Considerazioni e limitazioni](vpc-flow-logs.md#vpc-flow-logs-common-considerations). L'istruzione di esempio crea una tabella con le colonne per il flusso di log di Amazon VPC, versioni da 2 a 5, come documentato in [Registri del flusso di log](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) in formato Parquet, partizionato con Hive ogni ora. Se non disponi di partizioni orarie, rimuovi `hour` dalla clausola `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. Modificare `LOCATION 's3://amzn-s3-demo-bucket/{{prefix}}/AWSLogs/'` perché punti al bucket Amazon S3 che contiene i dati di log.

1. Eseguire la query nella console Athena.

1. Se i dati sono in formato compatibile con Hive, esegui il seguente comando nella console Athena per aggiornare e caricare le partizioni Hive nel metastore. Una volta completata la query, è possibile eseguire query sui dati nella tabella `vpc_flow_logs_parquet`.

   ```
   MSCK REPAIR TABLE vpc_flow_logs_parquet
   ```

   Se non utilizzi dati compatibili con Hive, esegui [ALTER TABLE ADD PARTITION](alter-table-add-partition.md) per caricare le partizioni.

Per ulteriori informazioni sull'utilizzo di Athena per eseguire query sul log di flusso di Amazon VPC in formato Parquet, consulta il post [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/) nell'*AWS Big Data Blog*.