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 si utilizza Firehose per consegnare dati ad Amazon S3, la configurazione di default 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 rileva automaticamente le partizioni al momento della query, invece di doverle aggiungere alla AWS Glue Data Catalog appena arrivano nuovi dati, è possibile utilizzare la proiezione delle partizioni.
Il seguente esempio di CREATE TABLE utilizza la configurazione di default di Firehose.
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.