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à.
Riutilizza i risultati delle query in Athena
Quando esegui nuovamente una query in Athena, puoi scegliere facoltativamente di riutilizzare l'ultimo risultato della query memorizzato. Questa opzione può aumentare le prestazioni e ridurre i costi in termini di numero di byte scansionati. Il riutilizzo dei risultati delle query è utile se, ad esempio, si sa che i risultati non cambieranno entro un determinato periodo di tempo. Puoi specificare un'età massima per il riutilizzo dei risultati delle query. Athena utilizza il risultato memorizzato purché non sia più vecchio dell'età specificata. Per ulteriori informazioni, consulta Ridurre i costi e migliorare le prestazioni delle query con Amazon Athena
Funzionalità principali
Quando abiliti il riutilizzo dei risultati per una query, Athena cerca un'esecuzione precedente della query all'interno dello stesso gruppo di lavoro. Se Athena trova una corrispondenza, ignora l'esecuzione e restituisce il risultato della query dell'esecuzione precedente, corrispondente. Puoi abilitare il riutilizzo dei risultati delle query per ogni singola query.
Athena riutilizza il risultato dell'ultima query quando tutte le seguenti condizioni sono vere:
-
Le stringhe di query corrispondono a quanto determinato da Athena.
-
I nomi del database e del catalogo corrispondono.
-
Il risultato precedente non è scaduto.
-
La configurazione dei risultati della query corrisponde alla configurazione dei risultati della query dell'esecuzione precedente.
-
È possibile accedere a tutte le tabelle a cui si fa riferimento nella query.
-
Hai accesso alla posizione del file S3 in cui è archiviato il risultato precedente.
Se una di queste condizioni non è soddisfatta, Athena esegue la query senza utilizzare i risultati memorizzati nella cache.
Considerazioni e limitazioni
Quando utilizzi la funzionalità di riutilizzo dei risultati della query, tieni presenti i punti seguenti:
-
Athena riutilizza i risultati delle query solo all'interno dello stesso gruppo di lavoro.
-
La funzionalità di riutilizzo dei risultati delle query rispetta le configurazioni dei gruppi di lavoro. Se sovrascrivi la configurazione dei risultati per una query, la funzionalità viene disabilitata.
-
Sono supportate solo le query che producono set di risultati su Amazon S3. Dichiarazioni diverse da
SELECTe nonEXECUTEsono supportate. -
Le tabelle Apache Hive, Apache Hudi, Apache Iceberg e Linux Foundation Delta Lake registrate con sono supportate. AWS Glue I metastore Hive esterni non sono supportati.
-
Le query che fanno riferimento a cataloghi federati o a un metastore Hive esterno non sono supportate.
-
Il riutilizzo dei risultati delle query non è supportato per le tabelle regolate da Lake Formation.
-
Il riutilizzo dei risultati delle query non è supportato quando la posizione Amazon S3 dell'origine della tabella è registrata come posizione dati in Lake Formation.
-
Le tabelle con autorizzazioni per righe e colonne non sono supportate.
-
Le tabelle con un controllo degli accessi granulare (ad esempio, il filtraggio di colonne o righe) non sono supportate.
-
Qualsiasi query che fa riferimento a una tabella non supportata non è idonea per il riutilizzo dei risultati della query.
-
Athena richiede che tu disponga delle autorizzazioni di lettura di Amazon S3 per riutilizzare il file di output generato in precedenza.
-
La funzionalità di riutilizzo dei risultati delle query presuppone che il contenuto del risultato precedente non sia stato modificato. Athena non verifica l'integrità di un risultato precedente prima di utilizzarlo.
-
Se i risultati della query eseguita precedente sono stati eliminati o spostati in una posizione diversa in Amazon S3, l'esecuzione successiva della stessa query non riutilizzerà i risultati della query.
-
È possibile che vengano restituiti risultati potenzialmente obsoleti. Athena non verifica le modifiche nei dati di origine fino al raggiungimento dell'età massima di riutilizzo specificata.
-
Se sono disponibili più risultati riutilizzabili, Athena utilizza il risultato più recente.
-
Query che utilizzano operatori o funzioni non deterministici, come
rand()oshuffle(), non utilizzano risultati memorizzati nella cache. Ad esempio,LIMITsenzaORDER BYè non deterministico e non viene memorizzato nella cache, maLIMITconORDER BYè deterministico e viene memorizzato nella cache. -
Per utilizzare la funzione di riutilizzo dei risultati delle query con JDBC, la versione minima richiesta del driver è 2.0.34.1000. Per ODBC, la versione minima del driver richiesta è 1.1.19.1002. Per informazioni sul download dei driver, consulta Connettersi ad Amazon Athena con i driver ODBC e JDBC.
-
Il riutilizzo dei risultati delle query non è supportato per query che utilizzano più di un catalogo dati.
-
Il riutilizzo dei risultati delle query non è supportato per query che includono più di 20 tabelle.
-
Per le stringhe di query di dimensioni inferiori a 100 KB, le differenze nei commenti e negli spazi vuoti vengono ignorate
INNER JOINe trattate come equivalenti ai fini delJOINriutilizzo dei risultati. Le stringhe di query di dimensioni superiori a 100 KB devono corrispondere esattamente per riutilizzare i risultati. -
Il risultato di una query è considerato scaduto se è più vecchio dell'età massima specificata o più vecchio dell'impostazione predefinita di 60 minuti se non è stata specificata un'età massima. L'età massima per riutilizzare i risultati della query può essere specificata in minuti, ore o giorni. L'età massima specificabile è l'equivalente di 7 giorni, indipendentemente dall'unità di tempo utilizzata.
-
I risultati delle query gestite non sono supportati.
Come riutilizzare i risultati delle query nella console Athena
Per utilizzare la funzionalità, abilita l'opzione Reuse query results (Riutilizza i risultati della query) nell'editor di query di Athena.
Configurazione della funzionalità di riutilizzo dei risultati delle query
-
Nell'editor di query di Athena, sotto l'opzione Reuse query results (Riutilizza i risultati della query), scegli l'icona di modifica accanto a Up to 60 minutes ago (Massimo 60 minuti fa).
-
Nella finestra di dialogo Edit reuse time (Modifica tempo di riutilizzo), nella casella a destra scegli un'unità di tempo (minuti, ore o giorni).
-
Nella casella a sinistra, inserisci o scegli il numero di unità di tempo che desideri specificare. Il tempo massimo che puoi inserire è l'equivalente di sette giorni, indipendentemente dall'unità di tempo scelta.
-
Scegli Conferma.
Un banner conferma la modifica alla configurazione e l'opzione Reuse query results (Riutilizza i risultati della query) mostra la nuova impostazione.