Connettore Amazon Athena Timestream - 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à.

Connettore Amazon Athena Timestream

Il connettore Amazon Athena per Timestream consente ad Amazon Athena di comunicare con Amazon Timestream, rendendo i dati di serie temporali accessibili mediante Amazon Athena. Facoltativamente, puoi utilizzarlo AWS Glue Data Catalog come fonte di metadati supplementari.

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.

Se hai abilitato Lake Formation nel tuo account, il ruolo IAM per il tuo connettore Lambda federato Athena che hai distribuito nell'accesso in lettura deve avere accesso in lettura in AWS Serverless Application Repository Lake Formation a. AWS Glue Data Catalog

Prerequisiti

Parametri

Utilizza le variabili di ambiente Lambda illustrate in questa sezione per configurare il connettore Timestream.

  • 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_bucket specificato chiamata athena-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 putObject di Amazon S3 utilizzata per lo spill (ad esempio, {"x-amz-server-side-encryption" : "AES256"}). Per altre possibili intestazioni, consulta il riferimento PutObjectall'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 metadati dal proprio account. AWS Glue

Configurazione di database e tabelle in AWS Glue

Facoltativamente, puoi utilizzarli AWS Glue Data Catalog come fonte di metadati supplementari. Per abilitare una AWS Glue tabella da utilizzare con Timestream, è necessario disporre di un database e di una tabella con nomi che corrispondano al AWS Glue database e alla tabella Timestream per i quali si desidera 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 AWS Glue tabella da utilizzare con Timestream, è necessario impostarne le proprietà in. AWS Glue

Per utilizzare una AWS Glue tabella per metadati supplementari
  1. Modifica la tabella nella AWS Glue console per aggiungere le seguenti proprietà della tabella:

    • timestream-metadata-flag— Questa proprietà indica al connettore Timestream che il connettore può utilizzare la tabella per metadati supplementari. Puoi fornire qualsiasi valore per timestream-metadata-flag, purché la proprietà timestream-metadata-flag sia 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.

  2. Assicurati di utilizzare i tipi di dati appropriati elencati in questo AWS Glue 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 AWS Glue tabella configurate per impostare una visualizzazione su una serie temporale.

Configurazione delle proprietà della tabella in AWS Glue per impostare una visualizzazione su una serie temporale.

Autorizzazioni richieste

Consulta la sezione Policies del file athena-timestream.yaml per i dettagli completi delle policy IAM richieste da questo connettore. L'elenco che segue riporta un riepilogo delle autorizzazioni richieste.

  • 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 fallire rapidamente quando la query Athena upstream è terminata.

  • AWS Glue Data Catalog— Il connettore Timestream richiede l'accesso in sola lettura a per ottenere informazioni sullo schema. AWS Glue Data Catalog

  • CloudWatch Registri: il connettore richiede l'accesso ai CloudWatch registri 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 pass-through

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 su GitHub .com.