Riutilizza i risultati della query in Athena - 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à.

Riutilizza i risultati della 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 nel blog sui AWS Big Data.

Nota

La funzionalità di riutilizzo dei risultati delle query richiede la versione 3 del motore Athena. Per ulteriori informazioni sulla modifica delle versioni del motore, consulta Cambia le versioni del motore Athena.

Funzionalità principali

  • Il riutilizzo dei risultati delle query è una funzionalità opzionale per ogni singola query. Puoi abilitare il riutilizzo dei risultati delle query per ogni singola query.

  • 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. Il valore predefinito è 60 minuti.

  • 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 i risultati della query memorizzati corrispondenti, non esegue nuovamente la query, ma rimanda alla posizione del risultato precedente o recupera i dati da essa.

  • Per ogni query per la quale è attivata l'opzione di riutilizzo dei risultati, Athena riutilizza l'ultimo risultato della query salvato nella cartella del gruppo di lavoro solo quando tutte le seguenti condizioni sono vere:

    • La stringa di query corrisponde esattamente.

    • Il nome del database e il nome del catalogo corrispondono.

    • Il risultato precedente non è più vecchio dell'età massima specificata o non supera i 60 minuti se non è stata specificata un'età massima.

    • Athena riutilizza solo un'esecuzione con la stessa configurazione dei risultati dell'esecuzione corrente.

    • Hai accesso 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.

  • Solo le query che producono set di risultati di query su Amazon S3 possono riutilizzare i risultati delle query. Ciò significa che, ad esempio,, CTAS INSERT INTO MERGEUNLOAD, e le DDL query non sono supportate.

  • Sono supportate le tabelle Apache Hive, Apache Hudi, Apache Iceberg e Linux Foundation Delta Lake registrate con. 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() o shuffle(), non utilizzano risultati memorizzati nella cache. Ad esempio, LIMIT senza ORDER BY è non deterministico e non viene memorizzato nella cache, ma LIMIT con ORDER BY è deterministico e viene memorizzato nella cache.

  • Il riutilizzo dei risultati delle query è supportato nella console Athena, in API Athena e nel driver. JDBC Attualmente, il supporto dei ODBC driver per il riutilizzo dei risultati delle query è disponibile solo per Windows.

  • Per utilizzare la funzionalità di riutilizzo dei risultati delle query conJDBC, la versione minima del driver richiesta è 2.0.34.1000. PerchéODBC, la versione minima del driver richiesta è 1.1.19.1002. Per informazioni sul download dei driver, consulta Connect ad Amazon Athena con ODBC e driver JDBC.

  • Il riutilizzo dei risultati delle query non è supportato per le query che utilizzano più di un catalogo di dati.

  • Il riutilizzo dei risultati delle query non è supportato per le query che includono più di 20 tabelle.

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.

Abilita Reuse query results (Riutilizza i risultati della query) nell'editor di query di Athena.
Configurazione della funzionalità di riutilizzo dei risultati delle query
  1. 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).

  2. Nella finestra di dialogo Edit reuse time (Modifica tempo di riutilizzo), nella casella a destra scegli un'unità di tempo (minuti, ore o giorni).

  3. 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.

    Configurazione dell'età massima per il riutilizzo dei risultati delle query

    L'esempio seguente specifica un tempo di riutilizzo massimo di due giorni.

    Riutilizzo dei risultati delle query configurato per un massimo di due giorni.
  4. Scegli Conferma.

    Un banner conferma la modifica alla configurazione e l'opzione Reuse query results (Riutilizza i risultati della query) mostra la nuova impostazione.

    Nuova impostazione di riutilizzo dei risultati della query nell'editor di query di Athena.