Amazon Athena

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

Crittografia del traffico di rete

Una delle best practice consiste nel criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilitazione dell'accesso sicuro al database.

Configurazione di una connessione Amazon Athena

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

  1. Assicurati di disporre di quanto segue:

    • Un paio 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 avere accesso in lettura/scrittura a questo bucket.

      Amazon Athena deve avere accesso a questo bucket S3 tramite un ruolo o un set di autorizzazioni, nonché in base alle 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 possono limitare l'accesso ai dati dal livello di rete con una lista consentita 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 Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e fai clic su Add Connection (Aggiungi connessione).

  3. Compila i dettagli della connessione:

    • Nome: specifica il nome della connessione. Ecco come farai riferimento alla connessione nei progetti LookML.
    • Dialect: seleziona Amazon Athena.
    • Host e Porta: specifica il nome dell'host e della porta come descritto nella documentazione di Athena sul formato URL JDBC. L'host deve essere un endpoint Amazon valido (come athena.eu-west-1.amazonaws.com) e la porta deve rimanere 443. Puoi trovare un elenco aggiornato degli endpoint che supportano Athena in questa pagina di riferimento generale di AWS.
    • Database: specifica il database predefinito da modellare. È possibile accedere ad altri database, ma Looker considera questo database come predefinito.
    • Nome utente: specifica l'ID della chiave di accesso AWS.
    • Password: specifica la chiave di accesso del secret AWS.
    • Abilita PDT: utilizza questo pulsante di attivazione/disattivazione per abilitare le tabelle derivate permanenti (PDT). L'abilitazione delle PDT rivela i campi PDT aggiuntivi 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 le PDT. Il percorso completo della directory di output deve essere specificato nel campo Parametri JDBC aggiuntivi; consulta la sezione Specifica del bucket S3 per output dei risultati delle query e PDT in questa pagina.
    • Numero massimo di connessioni del builder di PDT: specifica il numero di possibili build di PDT simultanee su questa connessione. L'impostazione di questo valore troppo alto potrebbe influire negativamente sui tempi di query. Per saperne di più, consulta la pagina della documentazione Connessione di Looker al tuo database.
    • Parametri JDBC aggiuntivi: specifica parametri aggiuntivi per la connessione:
      • Il parametro s3_staging_dir è il bucket S3 che Looker deve utilizzare per l'output dei risultati delle query e le PDT. Consulta la sezione Specifica del bucket S3 per l'output dei risultati delle query e le PDT in questa pagina.
      • Flag per risultati di streaming. Se hai associato il criterio athena:GetQueryResultsStream al tuo utente Athena, puoi aggiungere ;UseResultsetStreaming=1 alla fine dei parametri JDBC aggiuntivi per migliorare notevolmente le prestazioni dell'estrazione di set di risultati di grandi dimensioni. Questo parametro è impostato su 0 per impostazione predefinita.
      • Parametri aggiuntivi facoltativi da aggiungere alla stringa di connessione JDBC.
    • SSL: ignora. Per impostazione predefinita, tutte le connessioni all'API AWS saranno criptate.
    • Numero massimo di connessioni per nodo: il valore predefinito è 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 sui limiti di servizio di Athena. Per saperne di più, 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 saperne di più, consulta la pagina della documentazione Connessione di Looker al tuo database.
    • SQL Runner Precache: deseleziona questa opzione se preferisci che SQL Runner carichi le informazioni della tabella solo quando è selezionata. Per saperne di più, consulta la pagina della documentazione Connessione di Looker al tuo database.
    • Fuso orario 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 relativa all'utilizzo delle impostazioni del fuso orario.

Per verificare che la connessione venga stabilita, fai clic su Prova. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione relativa ai test di connettività dei database.

Per salvare queste impostazioni, fai clic su Connetti.

Specificare il bucket S3 per l'output dei risultati delle query e le PDT

Utilizza il campo Parametri JDBC aggiuntivi della pagina Connessioni per configurare il percorso del bucket S3 che Looker utilizzerà per archiviare l'output dei risultati della query e per specificare il nome della directory di output nel bucket S3 in cui vuoi che Looker scriva le 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, necessaria per le connessioni JDBC Athena. Per ulteriori informazioni e per 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 avere autorizzazioni di scrittura per la directory <s3-bucket>.

Per configurare la directory in cui Looker scriverà le PDT, inserisci il percorso della directory nel bucket S3 riportato sopra nel campo Temp Database (Database temporaneo). Ad esempio, se vuoi che Looker scriva 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 alcuni dei motivi:

  • Athena archivia i risultati di ogni query in un bucket S3. Vedi Query di Athena.
  • Se hai abilitato le PDT, quando viene creata una PDT, i metadati relativi alla tabella creata vengono archiviati nel bucket S3.

Risorse

Debug

Amazon fornisce 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 verifica di nuovo la connessione.

Se Looker ospita l'istanza, il supporto Looker o il tuo analista dovrà recuperare il file per continuare il debug.

Supporto delle funzionalità

Affinché Looker possa supportare alcune funzionalità, è necessario che anche il dialetto del database le supporti.

A partire da Looker 24.8, Amazon Athena supporta le seguenti funzionalità:

Selezione delle Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Eliminazione 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 SQL Runner
No
Descrivi tabella SQL Runner
Indici di visualizzazione SQL Runner
No
SQL Runner Select 10
Conteggio esecutori SQL
Spiegazione SQL
No
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
No
Schizzi HLL
Awareness aggregato
PDT incrementali
No
Millisecondi
Microsecondi
No
Viste materializzate
No
Conteggio approssimativo distinto

Passaggi successivi

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