Connettore Amazon Athena Timestream
Il connettore Amazon Athena per Timestream consente ad Amazon Athena di comunicare con Amazon Timestream
Amazon Timestream è un database di serie temporali veloce, scalabile, completamente gestito e appositamente costruito che semplifica l'archiviazione e l'analisi giornaliera di trilioni di punti dati delle serie temporali. Timestream consente di risparmiare tempo e denaro nella gestione del ciclo di vita dei dati di serie temporali mantenendo i dati recenti in memoria e spostando i dati cronologici su un livello di archiviazione ottimizzato in base a policy definite dall'utente.
Questo connettore può essere registrato con Glue Data Catalog come catalogo federato. Supporta i controlli di accesso ai dati definiti in Lake Formation a livello di catalogo, database, tabella, colonna, riga e tag. Questo connettore utilizza Glue Connections per centralizzare le proprietà di configurazione in Glue.
Se hai abilitato Lake Formation nel tuo account, il ruolo IAM per il connettore Lambda federato Athena che hai implementato nel file AWS Serverless Application Repository deve avere accesso in lettura in Lake Formation per il AWS Glue Data Catalog.
Prerequisiti
Implementa il connettore sul tuo Account AWS utilizzando la console Athena o AWS Serverless Application Repository. Per ulteriori informazioni, consulta Crea una connessione di un'origine dati o Utilizzare AWS Serverless Application Repository per distribuire un connettore origine dati.
Parametri
Utilizza i parametri illustrati in questa sezione per configurare il connettore Timestream.
Si consiglia di configurare un connettore Timestream utilizzando un oggetto Glue connections. Per fare ciò, imposta la variabile di glue_connection ambiente del connettore Timestream Lambda sul nome della connessione Glue da utilizzare.
Proprietà delle connessioni Glue
Utilizzare il seguente comando per ottenere lo schema di una connessione Glue. Questo schema contiene tutti i parametri che puoi usare per controllare la tua connessione.
aws glue describe-connection-type --connection-type TIMESTREAM
Proprietà dell'ambiente
glue_connection — Specificate il nome della connessione Glue associata al connettore federato.
Nota
-
Tutti i connettori che utilizzano le connessioni Glue devono essere utilizzati Gestione dei segreti AWS per memorizzare le credenziali.
-
Il connettore Timestream creato utilizzando le connessioni Glue non supporta l'uso di un gestore di multiplazione.
-
Il connettore Timestream creato utilizzando le connessioni Glue supporta
ConnectionSchemaVersionsolo 2.
Nota
I connettori di origine dati Athena creati il 3 dicembre 2024 e versioni successive utilizzano connessioni. AWS Glue
I nomi e le definizioni dei parametri elencati di seguito si riferiscono ai connettori di origine dati Athena creati senza una connessione Glue associata. Utilizza i seguenti parametri solo quando distribuisci manualmente una versione precedente di un connettore di origine dati Athena o quando glue_connection la proprietà dell'ambiente non è specificata.
Proprietà dell'ambiente
-
spill_bucket: specifica il bucket Amazon S3 per i dati che superano i limiti della funzione Lambda.
-
spill_prefix: (facoltativo) per impostazione predefinita, viene utilizzata una sottocartella nello
spill_bucketspecificato chiamataathena-federation-spill. Ti consigliamo di configurare un ciclo di vita dell'archiviazione di Amazon S3 in questa posizione per eliminare gli spill più vecchi di un numero predeterminato di giorni o ore. -
spill_put_request_headers: (facoltativo) una mappa codificata in JSON delle intestazioni e dei valori della richiesta per la richiesta
putObjectdi Amazon S3 utilizzata per lo spill (ad esempio,{"x-amz-server-side-encryption" : "AES256"}). Per altre possibili intestazioni, consulta l'argomento relativo a PutObject nella Documentazione di riferimento dell'API di Amazon Simple Storage Service. -
kms_key_id: (facoltativo) per impostazione predefinita, tutti i dati riversati in Amazon S3 vengono crittografati utilizzando la modalità di crittografia autenticata AES-GCM e una chiave generata casualmente. Per fare in modo che la tua funzione Lambda utilizzi chiavi di crittografia più potenti generate da KMS come
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331, puoi specificare l'ID della chiave KMS. -
disable_spill_encryption: (facoltativo) se impostato su
True, disabilita la crittografia dello spill. L'impostazione predefinita èFalse: in questo modo, i dati riversati su S3 vengono crittografati utilizzando AES-GCM tramite una chiave generata casualmente o una chiave generata mediante KMS. La disabilitazione della crittografia dello spill può migliorare le prestazioni, soprattutto se la posizione dello spill utilizza la crittografia lato server. -
glue_catalog: (facoltativo) utilizza questa opzione per specificare un catalogo AWS Glue multi-account. Per impostazione predefinita, il connettore tenta di ottenere i metadati dal proprio account AWS Glue.
Configurazione di database e tabelle in AWS Glue
Facoltativamente, puoi utilizzare AWS Glue Data Catalog come origine dei metadati supplementari. Per abilitare una tabella AWS Glue da utilizzare con Timestream, devi disporre di un database e di una tabella AWS Glue i cui nomi corrispondano al database e alla tabella Timestream per i quali desideri fornire metadati supplementari.
Nota
Per prestazioni ottimali, utilizza solo lettere minuscole per i nomi dei database e delle tabelle. L'utilizzo di caratteri misti tra maiuscole e minuscole fa sì che il connettore esegua una ricerca senza distinzione tra maiuscole e minuscole, più impegnativa dal punto di vista computazionale.
Per configurare la tabella AWS Glue da utilizzare con Timestream, devi impostarne le proprietà in AWS Glue.
Utilizzo di una tabella AWS Glue per i metadati supplementari
-
Modifica la tabella nella console AWS Glue per aggiungere le seguenti proprietà della tabella:
timestream-metadata-flag: questa proprietà indica al connettore Timestream che il connettore può utilizzare la tabella per i metadati aggiuntivi. Puoi fornire qualsiasi valore per
timestream-metadata-flag, purché la proprietàtimestream-metadata-flagsia presente nell'elenco delle proprietà della tabella.-
_view_template: quando utilizzi AWS Glue per i metadati supplementari, puoi utilizzare questa proprietà della tabella e specificare qualsiasi SQL Timestream come visualizzazione. Il connettore Timestream per Athena utilizza il codice SQL della visualizzazione insieme al codice SQL di Athena per eseguire la query. È utile se desideri utilizzare una funzionalità di Timestream SQL altrimenti non disponibile in Athena.
-
Assicurati di utilizzare i tipi di dati appropriati per AWS Glue come elencato in questo documento.
Tipi di dati
Attualmente, il connettore Timestream supporta solo un sottoinsieme dei tipi di dati disponibili in Timestream, in particolare i valori scalari varchar, double e timestamp.
Per interrogare il tipo di dati timeseries, devi configurare una visualizzazione nelle proprietà delle tabelle AWS Glue che utilizza la funzione di Timestream CREATE_TIME_SERIES. Inoltre, per la visualizzazione devi fornire uno schema che utilizzi la sintassi ARRAY<STRUCT<time:timestamp,measure_value::double:double>> come tipo per qualsiasi colonna delle tue serie temporali. Assicurati di sostituire double con il tipo scalare appropriato per la tabella.
L'immagine seguente mostra un esempio di proprietà della tabella AWS Glue configurate per impostare una visualizzazione di una serie temporale.
Autorizzazioni richieste
Consulta la sezione Policies del file athena-timestream.yaml
-
Accesso in scrittura ad Amazon S3: per trasferire i risultati di query di grandi dimensioni, il connettore richiede l'accesso in scrittura a una posizione in Amazon S3.
-
Athena GetQueryExecution: il connettore utilizza questa autorizzazione per interrompersi rapidamente con esito negativo quando la query a monte di Athena è terminata.
-
AWS Glue Data Catalog: il connettore Timestream richiede l'accesso in sola lettura a AWS Glue Data Catalog per ottenere informazioni sullo schema.
-
CloudWatch Logs: il connettore richiede l'accesso a CloudWatch Logs per l'archiviazione dei registri.
-
Accesso a Timestream: per eseguire query su Timestream.
Prestazioni
Ti consigliamo di utilizzare la clausola LIMIT per limitare i dati restituiti (non i dati scansionati) a meno di 256 MB per garantire l'efficienza delle query interattive.
Il connettore Timestream di Athena esegue il pushdown del predicato per ridurre la quantità di dati scansionati dalla query. Le clausole LIMIT riducono la quantità di dati scansionati, ma se non fornisci un predicato, le query SELECT con una clausola LIMIT eseguiranno la scansione di almeno 16 MB di dati. La selezione di un sottoinsieme di colonne velocizza notevolmente il runtime delle query e riduce i dati scansionati. Il connettore Timestream è resiliente alla limitazione della larghezza di banda della rete dovuta alla simultaneità.
Interrogazioni passthrough
Il connettore Timestream supporta le query passthrough. Le query passthrough utilizzano una funzione di tabella per inviare l'intera query alla fonte di dati per l'esecuzione.
Per utilizzare le query passthrough con Timestream, puoi utilizzare la seguente sintassi:
SELECT * FROM TABLE( system.query( query => 'query string' ))
La seguente query di esempio invia una query a un'origine dati in Timestream. La query seleziona tutte le colonne della customer tabella, limitando i risultati a 10.
SELECT * FROM TABLE( system.query( query => 'SELECT * FROM customer LIMIT 10' ))
Informazioni sulla licenza
Il progetto del connettore Timestream per Amazon Athena è concesso in licenza ai sensi della Licenza Apache-2.0
Risorse aggiuntive
Per ulteriori informazioni su questo connettore, visita il sito corrispondente