Erstellen Sie Tabellen für Flow-Logs im Apache Parquet-Format - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie Tabellen für Flow-Logs im Apache Parquet-Format

Das folgende Verfahren erstellt eine VPC Amazon-Tabelle für Amazon VPC Flow-Logs im Apache Parquet-Format.

So erstellen Sie eine Athena-Tabelle für Amazon VPC Flow-Logs im Parquet-Format
  1. Geben Sie eine DDL Anweisung wie die folgende in den Abfrageeditor der Athena-Konsole ein und folgen Sie dabei den Richtlinien im Überlegungen und Einschränkungen Abschnitt. Die Beispielanweisung erstellt eine Tabelle mit den Spalten für die Amazon VPC Flow-Logs-Versionen 2 bis 5, wie sie in Flow-Protokolldatensätze im Parquet-Format, Hive partitioniert stündlich dokumentiert sind. Wenn Sie keine stündlichen Partitionen haben, entfernen Sie hour aus der PARTITIONED BY-Klausel.

    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' )
  2. Ändern Sie Beispiel-LOCATION 's3://amzn-s3-demo-bucket/prefix/AWSLogs/' so, dass auf den Amazon-S3-Pfad gezeigt wird, der Ihre Protokolldaten enthält.

  3. Führen Sie die Abfrage in der Athena-Konsole aus.

  4. Wenn Ihre Daten im HIVE-kompatiblen Format vorliegen, führen Sie den folgenden Befehl in der Athena-Konsole aus, um die Hive-Partitionen im Metastore zu aktualisieren und zu laden. Nachdem die Abfrage abgeschlossen ist, können Sie die Daten in der vpc_flow_logs_parquet-Tabelle abfragen.

    MSCK REPAIR TABLE vpc_flow_logs_parquet

    Wenn Sie keine Hive-kompatiblen Daten verwenden, führen Sie ALTER TABLE ADD PARTITION aus, um die Partitionen zu laden.

Weitere Informationen zur Verwendung von Athena zur Abfrage von Amazon VPC Flow-Logs im Parquet-Format finden Sie im Beitrag Optimieren Sie die Leistung und reduzieren Sie die Kosten für Netzwerkanalysen mit VPC Flow Logs im Apache Parquet-Format im AWS Big Data-Blog.