Amazon Athena

Looker supporta le connessioni ad Amazon Athena, un servizio di query interattivo che semplifica l'analisi dei dati in Amazon S3 utilizzando SQL standard. Amazon Athena è serverless, quindi non è necessaria alcuna infrastruttura da gestire. Ti vengono addebitate solo le query eseguite.

Crittografia del traffico di rete

È buona prassi criptare il traffico di rete tra l'applicazione Looker e il database. Valuta la possibilità di utilizzare una delle opzioni descritte nella pagina della documentazione Abilitare l'accesso sicuro ai database.

Configurazione di una connessione Amazon Athena

Questa pagina descrive come collegare Looker a un'istanza Amazon Athena.

  1. Assicurati di avere quanto segue:

    • Una coppia di chiavi di accesso Amazon AWS.
    • Il bucket S3 contenente i dati su cui vuoi eseguire query in Looker con Amazon Athena. Le chiavi di accesso Amazon AWS devono disporre dell'accesso in lettura/scrittura a questo bucket.

      Amazon Athena deve avere accesso a questo bucket S3 tramite un ruolo o un insieme di autorizzazioni, nonché tramite regole firewall. Non aggiungere regole di sicurezza al bucket S3 per l'IP di Looker, poiché ciò potrebbe bloccare inavvertitamente l'accesso di Amazon Athena al bucket S3. Per altri dialetti oltre ad Amazon Athena, gli utenti potrebbero voler limitare l'accesso ai dati dal livello di rete con una lista consentita di IP, come descritto nella pagina della documentazione Abilitazione dell'accesso sicuro ai database.

    • Conoscenza della posizione dei dati dell'istanza Amazon Athena. Il nome della regione si trova nella parte in alto a destra della console Amazon.

  2. Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su Aggiungi connessione.

  3. Compila i dettagli della connessione:

    • Name (Nome): specifica il nome della connessione. In questo modo farai riferimento alla connessione nei progetti LookML.
    • Dialetto: seleziona Amazon Athena.
    • Host e Porta: specifica il nome dell'host e della porta come descritto nella documentazione di Athena sul formato dell'URL JDBC. L'host deve essere un endpoint Amazon valido (ad esempio athena.eu-west-1.amazonaws.com) e la porta deve rimanere su 443. Un elenco aggiornato degli endpoint che supportano Athena è disponibile in questa pagina della documentazione generale di AWS.
    • Database: specifica il database predefinito che vuoi modellare. È possibile accedere ad altri database, ma Looker tratta questo database come predefinito.
    • Nome utente: specifica l'ID chiave di accesso AWS.
    • Password: specifica la chiave di accesso segreta AWS.
    • Abilita PDT: utilizza questo pulsante di attivazione/disattivazione per attivare le tabelle derivate permanenti (PDT). L'attivazione delle PDT mostra ulteriori campi PDT e la sezione Override PDT per la connessione.
    • Database temporaneo: specifica il nome della directory di output nel bucket S3 in cui vuoi che Looker scriva i PDT. Il percorso completo della directory di output deve essere specificato nel campo Parametri JDBC aggiuntivi; consulta la sezione Specificare il bucket S3 per l'output dei risultati delle query e i PDT in questa pagina.
    • Numero massimo di connessioni del generatore di PDT: specifica il numero di possibili build di PDT concorrenti su questa connessione. L'impostazione di un valore troppo alto potrebbe influire negativamente sui tempi di query. Per ulteriori informazioni, consulta la pagina di documentazione Connessione di Looker al database.
    • Parametri JDBC aggiuntivi: specifica i parametri aggiuntivi per la connessione:
      • Il parametro s3_staging_dir è il bucket S3 che Looker deve utilizzare per l'output dei risultati di query e i PDT. Consulta la sezione Specificare il bucket S3 per l'output dei risultati di query e i PDT in questa pagina.
      • Indicatore per i risultati in streaming. Se al tuo utente Athena è associato il criterio athena:GetQueryResultsStream, puoi aggiungere ;UseResultsetStreaming=1 alla fine dei parametri JDBC aggiuntivi per migliorare notevolmente le prestazioni dell'estrazione di set di risultati di grandi dimensioni. Per impostazione predefinita, questo parametro è impostato su 0.
      • Parametri aggiuntivi facoltativi da aggiungere alla stringa di connessione JDBC.
    • SSL: ignora; per impostazione predefinita, tutte le connessioni all'API AWS verranno criptate.
    • Connessioni massime per nodo: per impostazione predefinita, questo valore è impostato su 5. Puoi aumentarlo fino a 20 se Looker è il motore di query principale in esecuzione su Athena. Per ulteriori dettagli sui limiti di servizio, consulta la documentazione relativa ai limiti di servizio di Athena. Per ulteriori informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database.
    • Timeout del pool di connessioni: specifica il timeout del pool di connessioni. Per impostazione predefinita, il timeout è impostato su 120 secondi. Per ulteriori informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database.
    • Pre-cache SQL Runner: deseleziona questa opzione se preferisci che SQL Runner carichi le informazioni sulle singole tabelle solo quando vengono selezionate. Per ulteriori informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database.
    • Fuso orario del database: specifica il fuso orario utilizzato nel database. Lascia vuoto questo campo se non vuoi la conversione del fuso orario. Per ulteriori informazioni, consulta la pagina della documentazione dedicata all'utilizzo delle impostazioni relative al fuso orario.

Per verificare che la connessione sia andata a buon fine, fai clic su Test. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività del database.

Per salvare queste impostazioni, fai clic su Connetti.

Specifica del bucket S3 per l'output dei risultati della query e dei PDT

Utilizza il campo Parametri JDBC aggiuntivi della pagina Connessioni per configurare il percorso del bucket S3 che verrà utilizzato da Looker per memorizzare l'output dei risultati delle query e per specificare il nome della directory di output nel bucket S3 in cui vuoi che Looker scriva i PDT. Specifica queste informazioni utilizzando il parametro s3_staging_dir.

Il parametro JDBC s3_staging_dir è un modo alternativo per configurare la proprietà S3OutputLocation di Amazon Athena, che è obbligatoria per le connessioni JDBC di Athena. Per ulteriori informazioni e un elenco di tutte le opzioni del driver JDBC disponibili, consulta la documentazione di Athena sulle opzioni del driver JDBC.

Nel campo Parametri JDBC aggiuntivi, specifica il parametro s3_staging_dir utilizzando il seguente formato:

`s3_staging_dir=s3://<s3-bucket>/<output-path>`

Dove:

  • <s3-bucket> è il nome del bucket S3.
  • <output-path> è il percorso in cui Looker scriverà l'output dei risultati della query.

La coppia di chiavi di accesso AWS deve disporre delle autorizzazioni di scrittura per la directory <s3-bucket>.

Per configurare la directory in cui Looker scriverà i PDT, inserisci il percorso della directory nel bucket S3 nel campo Database temporaneo. Ad esempio, se vuoi che Looker scriva le PDT in s3://<s3-bucket>/looker_scratch, inserisci quanto segue nel campo Database temporaneo:

`looker_scratch`

Inserisci solo il percorso della directory. Looker recupera il nome del bucket S3 dal parametro s3_staging_dir inserito nel campo Parametri JDBC aggiuntivi.

Considerazioni sui bucket S3

Ti consigliamo di configurare i cicli di vita degli oggetti Amazon S3 per eliminare periodicamente i file non necessari nel bucket S3 specificato. Ecco i motivi:

  • Athena archivia i risultati di ogni query in un bucket S3. Consulta Query Athena.
  • Se hai attivato i PDT, quando viene creato un PDT, i metadati della tabella creata vengono archiviati nel bucket S3.

Risorse

Debug

Amazon fornisce opzioni di driver JDBC LogLevel e LogPath per il debug delle connessioni. Per utilizzarli, aggiungi ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log alla fine del campo Parametri JDBC aggiuntivi e testa di nuovo la connessione.

Se l'istanza è ospitata da Looker, l'assistenza di Looker o il tuo analista dovrà recuperare questo file per continuare il debug.

Funzionalità supportate

Affinché Looker supporti alcune funzionalità, anche il dialetto del database deve supportarle.

Amazon Athena supporta le seguenti funzionalità a partire da Looker 24.20:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
No
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
No
Processi di visualizzazione di SQL Runner
No
Tabella Describe di SQL Runner
Indici di SQL Runner Show
No
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
No
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
Aggregate Awareness
PDT incrementali
No
Millisecondi
Microsecondi
No
Viste materializzate
No
Conteggio approssimativo valori distinti

Passaggi successivi

Dopo aver completato la connessione al database, configura le opzioni di autenticazione.