

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 eine Tabelle für CloudFront Protokolle in Athena mithilfe der Partitionsprojektion mit Parquet
<a name="create-cloudfront-table-partition-parquet"></a>

Die folgende CREATE TABLE-Beispielanweisung verwendet automatisch die Partitionsprojektion für CloudFront Logs in Parquet, und zwar von einer bestimmten CloudFront Distribution bis zum Vorhandensein einer einzelnen AWS-Region Distribution. Nach dem erfolgreichen Ausführen der Abfrage können Sie die Tabelle abfragen.

```
CREATE EXTERNAL TABLE `cloudfront_logs_parquet_pp`(
`date` string, 
`time` string, 
`x_edge_location` string, 
`sc_bytes` string, 
`c_ip` string, 
`cs_method` string, 
`cs_host` string, 
`cs_uri_stem` string, 
`sc_status` string, 
`cs_referer` string, 
`cs_user_agent` string, 
`cs_uri_query` string, 
`cs_cookie` string, 
`x_edge_result_type` string, 
`x_edge_request_id` string, 
`x_host_header` string, 
`cs_protocol` string, 
`cs_bytes` string, 
`time_taken` string, 
`x_forwarded_for` string, 
`ssl_protocol` string, 
`ssl_cipher` string, 
`x_edge_response_result_type` string, 
`cs_protocol_version` string, 
`fle_status` string, 
`fle_encrypted_fields` string, 
`c_port` string, 
`time_to_first_byte` string, 
`x_edge_detailed_result_type` string, 
`sc_content_type` string, 
`sc_content_len` string, 
`sc_range_start` string, 
`sc_range_end` string)
PARTITIONED BY(
 distributionid string,
 year int,
 month int,
 day int,
 hour int )
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/AWSLogs/AWS_ACCOUNT_ID/CloudFront/'
TBLPROPERTIES (
'projection.distributionid.type'='enum',
'projection.distributionid.values'='E3OK0LPUNWWO3',
'projection.day.range'='01,31',
'projection.day.type'='integer',
'projection.day.digits'='2',
'projection.enabled'='true',
'projection.month.range'='01,12',
'projection.month.type'='integer',
'projection.month.digits'='2',
'projection.year.range'='2019,2025',
'projection.year.type'='integer',
'projection.hour.range'='01,12',
'projection.hour.type'='integer',
'projection.hour.digits'='2',
'storage.location.template'='s3://amzn-s3-demo-bucket/AWSLogs/AWS_ACCOUNT_ID/CloudFront/${distributionid}/${year}/${month}/${day}/${hour}/')
```

Im Folgenden finden Sie einige Überlegungen zu den im vorherigen Beispiel verwendeten Eigenschaften.
+ **Tabellenname** – Der Tabellenname *`cloudfront_logs_pp`* ist austauschbar. Sie können ihn in einen beliebigen Namen ändern.
+ **Standort** – Ändern Sie `s3://amzn-s3-demo-bucket/AWSLogs/AWS_ACCOUNT_ID/` so dass er auf Ihren Amazon-S3-Bucket verweist.
+ **Verteilung IDs** — Für können Sie mehrere Verteilungen angeben`projection.distributionid.values`, IDs wenn Sie sie durch Kommas trennen. Zum Beispiel *<distributionID1>*, *<distributionID2>*.
+ **Jahresbereich** – In `projection.year.range` können Sie den Jahresbereich auf der Grundlage Ihrer Daten definieren. Sie können ihn beispielsweise an einen beliebigen Zeitraum anpassen, z. B. *2025*, *2026*.
**Anmerkung**  
Das Einbeziehen leerer Partitionen, z. B. für future Daten (Beispiel: 2025-2040), kann sich auf die Abfrageleistung auswirken. Die Partitionsprojektion ist jedoch so konzipiert, dass zukünftige Daten effektiv verarbeiten werden können. Um eine optimale Leistung zu gewährleisten, sollten Sie sicherstellen, dass die Partitionen sorgfältig verwaltet werden, und vermeiden Sie, wenn möglich, übermäßige leere Partitionen.
+ **Vorlage für den Speicherort** — Sie müssen sicherstellen, dass die Vorlage auf der Grundlage der folgenden CloudFront Partitionierungsstruktur und des folgenden S3-Pfads `storage.location.template` korrekt aktualisiert wird.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/create-cloudfront-table-partition-parquet.html)

  Nachdem Sie sich vergewissert haben, dass die CloudFront Partitionierungsstruktur und die S3-Struktur den erforderlichen Mustern entsprechen, aktualisieren Sie Folgendes`storage.location.template`:

  ```
  'storage.location.template'='s3://amzn-s3-demo-bucket/AWSLogs/account_id/CloudFront/${distributionid}/folder2/${year}/${month}/${day}/${hour}/folder3/'
  ```
**Anmerkung**  
Die richtige Konfiguration von `storage.location.template` ist entscheidend für die korrekte Datenspeicherung und den korrekten Abruf von Daten.