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à.
Per ottimizzare le tue query, puoi utilizzare la funzionalità di ottimizzazione basata sui costi (CBO) di Athena SQL. Facoltativamente, puoi richiedere che Athena raccolga statistiche a livello di tabella o colonna per una delle tue tabelle in AWS Glue. Se tutte le tabelle della query contengono statistiche, Athena utilizza le statistiche per creare un piano di esecuzione che ritiene essere il più performante. L'ottimizzatore di query calcola i piani alternativi sulla base di un modello statistico e quindi seleziona quello che sarà probabilmente il più veloce per eseguire la query.
Le statistiche sulle AWS Glue tabelle vengono raccolte e archiviate in AWS Glue Data Catalog e rese disponibili ad Athena per migliorare la pianificazione e l'esecuzione delle query. Queste statistiche sono statistiche a livello di colonna, ad esempio il numero di valori distinti, il numero di valori nulli, massimi e minimi su tipi di file come Parquet, ORC, JSON, ION, CSV e XML. Amazon Athena utilizza queste statistiche per ottimizzare le query applicando i filtri più restrittivi il prima possibile nell'elaborazione delle query. Questo filtro limita l'utilizzo della memoria e il numero di record da leggere per fornire i risultati delle query.
Oltre a CBO, Athena utilizza una funzionalità chiamata ottimizzatore basato su regole (RBO). L'RBO applica meccanicamente delle regole che dovrebbero migliorare le prestazioni delle query. L'RBO di solito è utile perché le sue trasformazioni mirano a semplificare il piano di interrogazione. Tuttavia, poiché l'RBO non esegue calcoli dei costi o confronti tra piani, le query più complicate rendono difficile la creazione di un piano ottimale.
Per questo motivo, per ottimizzare le query Athena utilizza sia RBO che CBO. Dopo aver identificato le opportunità per migliorare l'esecuzione delle query, Athena crea un piano ottimale. Per ulteriori informazioni sui dettagli del piano di esecuzione, consulta Visualizza i piani di esecuzione per le query SQL. Per una discussione dettagliata su come funziona CBO, consulta Accelerare le query con l'ottimizzatore basato sui costi di Amazon Athena
Per generare statistiche per le tabelle AWS Glue del catalogo, puoi utilizzare la console Athena, la AWS Glue Console o. AWS Glue APIs Poiché Athena è integrato con AWS Glue Catalog, ottieni automaticamente i corrispondenti miglioramenti delle prestazioni delle query quando esegui query da Amazon Athena.
Considerazioni e limitazioni
-
Tipi di tabelle: al momento, la funzionalità CBO di Athena supporta solo le tabelle Hive presenti nel AWS Glue Data Catalog.
-
Athena per Spark: la funzionalità CBO non è disponibile in Athena per Spark.
-
Prezzi: per informazioni sui prezzi, consulta la pagina dei prezzi di AWS Glue
.
Generazione di statistiche sulle tabelle utilizzando la console Athena
In questa sezione viene descritto come usare la console Athena per generare statistiche a livello di tabella o colonna per una tabella in AWS Glue. Per informazioni sull'utilizzo per AWS Glue generare statistiche sulle tabelle, consulta Lavorare con le statistiche delle colonne nella Guida per gli AWS Glue sviluppatori.
Generazione di statistiche per una tabella tramite la console Athena
Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/
. -
Nell'elenco Tabelle dell'editor di query Athena, scegli i tre punti verticali per la tabella desiderata, quindi scegli Genera statistiche.
-
Nella finestra di dialogo Genera statistiche, scegli Tutte le colonne per generare le statistiche per tutte le colonne della tabella oppure Colonne selezionate per selezionare colonne specifiche. L'impostazione predefinita è Tutte le colonne.
-
Per il ruolo di AWS Glue servizio, crea o seleziona un ruolo di servizio esistente per AWS Glue autorizzare la generazione di statistiche. Il ruolo di servizio AWS Glue richiede anche le autorizzazioni
S3:GetObject
per il bucket Amazon S3 che contiene i dati della tabella. -
Scegli Genera statistiche. Un banner di generazione di statistiche per le
table_name
notifiche mostra lo stato dell'attività. -
Per visualizzare i dettagli nella AWS Glue console, scegli Visualizza in Glue.
Per informazioni sulla visualizzazione delle statistiche nella AWS Glue console, consulta Visualizzazione delle statistiche delle colonne nella Guida per gli AWS Glue sviluppatori.
-
Dopo la generazione delle statistiche, le tabelle e le colonne che contengono le statistiche mostrano la parola Statistiche tra parentesi, come nell'immagine seguente.
Ora, quando esegui le tue query, Athena eseguirà l'ottimizzazione in base ai costi delle tabelle e delle colonne per le quali sono state generate le statistiche.
Risorse aggiuntive
Per ulteriori informazioni, consulta la seguente risorsa.