本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
以 Apache 鑲木地板格式建立流程記錄的資料表
下列程序會以 Apache 實木複合地板格式為 Amazon VPC 流程日誌建立 Amazon VPC 資料表。
若要以鑲木地板格式建立 Amazon VPC 流程日誌的 Athena 表
-
依照考量與限制本節中的準則,在 Athena 主控台查詢編輯器中輸入類似下列的DDL陳述式。範例陳述式會建立一個資料表,其中包含 Amazon VPC 流程日誌版本 2 到 5 的資料行,如同 Parquet 格式的流程記錄 (Hive 每小時分區) 中所述。如果您沒有小時分割區,請從
PARTITIONED BY
子句中移除hour
。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' ) -
修改
LOCATION 's3://amzn-s3-demo-bucket/
來指向包含日誌資料的 Amazon S3 路徑。prefix
/AWSLogs/' -
在 Athena 主控台中執行查詢。
-
如果您的資料採用 Hive 相容的格式,請在 Athena 主控台中執行以下命令來更新和載入中繼存放區中的 Hive 分割區。查詢完成後,您可以在
vpc_flow_logs_parquet
資料表中查詢資料。MSCK REPAIR TABLE vpc_flow_logs_parquet
如果您沒有使用 Hive 相容的資料,請執行 ALTER TABLE ADD PARTITION 來載入分割區。
如需有關使用 Athena 以 Parquet 格式查詢 Amazon VPC 流程日誌的詳細資訊,請參閱AWS 大數據部落格中使用 Apache Parquet 格式的VPC流程日誌優化效能並降低網路分析