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 TABLE
esempio 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 tipodate
(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.