Beispiel für Amazon Data Firehose - 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.

Beispiel für Amazon Data Firehose

Wenn Sie Firehose verwenden, um Daten an Amazon S3 zu liefern, schreibt die Standardkonfiguration Objekte mit Schlüsseln, die wie im folgenden Beispiel aussehen:

s3://amzn-s3-demo-bucket/prefix/yyyy/MM/dd/HH/file.extension

Um eine Athena-Tabelle zu erstellen, die die Partitionen automatisch bei der Abfrage findet, können Sie die Partitionsprojektion verwenden, anstatt sie der AWS Glue Data Catalog hinzufügen zu müssen, wenn neue Daten eintreffen.

Das folgende CREATE TABLE Beispiel verwendet die Firehose-Standardkonfiguration.

CREATE EXTERNAL TABLE my_ingested_data ( ... ) ... PARTITIONED BY ( datehour STRING ) LOCATION "s3://amzn-s3-demo-bucket/prefix/" TBLPROPERTIES ( "projection.enabled" = "true", "projection.datehour.type" = "date", "projection.datehour.format" = "yyyy/MM/dd/HH", "projection.datehour.range" = "2021/01/01/00,NOW", "projection.datehour.interval" = "1", "projection.datehour.interval.unit" = "HOURS", "storage.location.template" = "s3://amzn-s3-demo-bucket/prefix/${datehour}/" )

Die TBLPROPERTIES-Klausel in der CREATE TABLE-Anweisung sagt Athena Folgendes:

  • Verwenden Sie Partitionsprojektion beim Abfragen der Tabelle

  • Der Partitionsschlüssel datehour ist vom Typ date (welcher eine optionale Zeit beinhaltet)

  • Wie die Daten formatiert werden

  • Der Bereich der Datumszeiten. Beachten Sie, dass die Werte durch Kommata voneinander getrennt werden müssen, nicht durch einen Bindestrich.

  • Wo Sie die Daten auf Amazon S3 finden.

Wenn Sie die Tabelle abfragen, berechnet Athena die Werte für datehour und erstellt mithilfe der Speicherortsvorlage eine Liste von Partitionsspeicherorten.