Esempio di Amazon Data Firehose - Amazon Athena

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à.

Esempio di Amazon Data Firehose

Quando usi Firehose per fornire dati ad Amazon S3, la configurazione predefinita scrive oggetti con chiavi simili al seguente esempio:

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

Per creare una tabella Athena che trovi automaticamente le partizioni al momento della query, invece di doverle aggiungere all'arrivo di nuovi dati, puoi utilizzare la AWS Glue Data Catalog proiezione delle partizioni.

L'CREATE TABLEesempio seguente utilizza la configurazione Firehose predefinita.

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}/" )

La clausola TBLPROPERTIES nell'istruzione CREATE TABLE indica ad Athena quanto segue:

  • Usa la proiezione delle partizioni durante la query sulla tabella

  • La chiave di partizione datehour è di tipo date (che include un orario facoltativo)

  • Come vengono formattate le date

  • L'intervallo di date e orari Tieni presente che i valori devono essere separati da virgole, non da trattini.

  • Dove trovare i dati su Amazon S3.

Quando si esegue una query sulla tabella, Athena calcola i valori per datehour e utilizza il modello di posizione di archiviazione per generare un elenco di posizioni di partizione.