Esecuzione di query sulle tabelle Amazon S3 con Athena
Amazon Athena è un servizio di query interattivo che semplifica l’analisi dei dati direttamente in Amazon S3 utilizzando SQL standard. Per ulteriori informazioni, consulta Che cos'è Amazon Athena? nella Guida per l'utente di Amazon Athena.
Dopo aver integrato i bucket di tabelle con i servizi di analisi AWS, è possibile eseguire le query Data Definition Language (DDL), Data Manipulation Language (DML) e Data Query Language (DQL) sulle tabelle S3 utilizzando Athena. Per ulteriori informazioni su come eseguire query sulle tabelle di un bucket di tabelle, consulta Registrare i cataloghi di bucket di tabelle S3 nella Guida per l’utente di Amazon Athena.
Puoi eseguire query in Athena anche dalla console Amazon S3.
Importante
Durante la creazione delle tabelle, è necessario utilizzare solo lettere minuscole nei nomi delle tabelle e nelle definizioni delle tabelle. Ad esempio, è necessario verificare che i nomi delle colonne siano tutti in minuscolo. Se il nome della tabella o la definizione della tabella contiene lettere maiuscole, la tabella non è supportata da AWS Lake Formation né dal AWS Glue Data Catalog. In questo caso, la tabella non sarà visibile ai servizi di analisi AWS come Amazon Athena, anche se i bucket di tabelle sono integrati con i servizi di analisi AWS.
Se la definizione della tabella contiene lettere maiuscole, viene visualizzato il seguente messaggio di errore durante l’esecuzione di una query SELECT in Athena: “GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.”
La procedura seguente utilizza la console Amazon S3 per accedere all’editor di query Athena in modo da poter eseguire query su una tabella con Amazon Athena.
Nota
Prima di eseguire i seguenti passaggi, assicurati di aver integrato i bucket di tabelle con i servizi di analisi AWS nella Regione in uso. Per ulteriori informazioni, consulta Integrazione di Tabelle Amazon S3 con i servizi di analisi AWS.
Come eseguire query su una tabella
Accedi alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/
. -
Nel pannello di navigazione a sinistra, scegli Bucket di tabelle.
-
Nella pagina Bucket di tabelle, scegli il bucket contenente la tabella sui cui desideri eseguire la query.
-
Nella pagina dei dettagli del bucket, scegli il pulsante di opzione accanto al nome della tabella su cui desideri eseguire una query.
-
Scegli Interroga tabella con Athena.
-
Si apre la console Amazon Athena e viene visualizzato l’editor di query Athena con una query
SELECTdi esempio caricata automaticamente. Modifica questa query in base alle esigenze del caso d’uso.Nell’editor di query, il campo Catalogo deve essere compilato con s3tablescatalog/ seguito dal nome del bucket di tabelle, ad esempio s3tablescatalog/
amzn-s3-demo-bucket. Il campo Database deve essere compilato con il namespace in cui è archiviata la tabella.Nota
Se non vedi questi valori nei campi Catalogo e Database, assicurati di aver integrato il bucket di tabelle gestito con i servizi di analisi AWS nella Regione in uso. Per ulteriori informazioni, consulta Integrazione di Tabelle Amazon S3 con i servizi di analisi AWS.
-
Per eseguire la query, scegli Run (Esegui).
Nota
-
Se ricevi l’errore
“Insufficient permissions to execute the query. Principal does not have any privilege on specified resource”quando provi a eseguire una query in Athena, assicurati di disporre delle necessarie autorizzazioni Lake Formation sulla tabella. Per ulteriori informazioni, consulta Concessione dell’autorizzazione Lake Formation per una tabella o un database. -
Se ricevi l’errore
“Iceberg cannot access the requested resource”quando provi a eseguire la query, accedi alla console AWS Lake Formation e assicurati di disporre delle autorizzazioni per il catalogo del bucket di tabelle e per il database (namespace) che hai creato. Non specificare una tabella quando fornisci queste autorizzazioni. Per ulteriori informazioni, consulta Concessione dell’autorizzazione Lake Formation per una tabella o un database. -
Se sono presenti lettere maiuscole nel nome della tabella o nei nomi delle colonne nella definizione della tabella, viene visualizzato il seguente messaggio di errore durante l’esecuzione di una query
SELECTin Athena:“GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.”Verifica che i nomi delle tabelle e delle colonne siano tutti in minuscolo.
-