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 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 disporre di 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 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é 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 a 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 quindi fai clic su Add Connection (Aggiungi connessione).

  3. Compila i dettagli della connessione:

    • Nome: specifica il nome della connessione. Questo è il modo in cui 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 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 di documentazione generale di AWS.
    • Database: specifica il database predefinito da modellare. È possibile accedere ad altri database, ma Looker tratta questo database come predefinito.
    • Username (Nome utente): specifica l'ID della chiave di accesso AWS.
    • Password: specifica la chiave di accesso al secret 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 le tue 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 di query e i 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 un 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 i 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.
      • Contrassegno per risultati in streaming. Se hai collegato il criterio athena:GetQueryResultsStream all'utente Athena, puoi aggiungere ;UseResultsetStreaming=1 alla fine dei parametri JDBC aggiuntivi per migliorare in modo significativo 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 informazioni sui limiti di servizio di Athena, consulta la documentazione sui limiti di servizio di Athena. Per saperne di più, consulta la pagina della documentazione Collegamento 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-memorizzazione nella cache di 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.
    • Database Time Zone: specifica il fuso orario utilizzato nel database. Lascia vuoto questo campo se non vuoi eseguire 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 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 delle 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à Amazon Athena S3OutputLocation, necessaria per le connessioni JDBC di Athena. Per ulteriori informazioni e per un elenco di tutte le opzioni dei driver JDBC disponibili, consulta la documentazione di Athena sulle opzioni dei 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à le PDT, inserisci il percorso della directory nel bucket S3 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. I motivi sono i seguenti:

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

Risorse

Debug

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

Se Looker ospita l'istanza, il supporto Looker o il tuo analista dovranno 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.16:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate da SQL permanente
Tabelle derivate native permanenti
Visualizzazioni stabili
Termine 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 di descrizione di SQL Runner
Indici delle visualizzazioni di SQL Runner
No
SQL Runner Select 10
Conteggio runner SQL
Spiegazione SQL
No
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
Consapevolezza aggregata
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.