Amazon Atena

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

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

  1. Verifica 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 di Amazon AWS devono avere accesso in lettura/scrittura a questo bucket.

      Amazon Athena deve avere accesso a questo bucket S3 in base a un ruolo o a un set di autorizzazioni, nonché a 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 IP, come descritto nella pagina della documentazione Abilitare l'accesso sicuro al database.

    • Conoscere la posizione dei dati dell'istanza di Amazon Athena. Il nome della regione si trova nella parte in alto a destra di Amazon Console.

  2. Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e fai clic su Add Connection (Aggiungi connessione).

  3. Inserisci i dettagli della connessione:

    • Name (Nome): specifica il nome della connessione. Ecco come fare riferimento alla connessione nei progetti LookML.
    • Dialetto: seleziona Athena.
    • Host: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 (come athena.eu-west-1.amazonaws.com) e la porta deve rimanere su 443. Puoi trovare un elenco aggiornato degli endpoint che supportano Athena in questa pagina Riferimento generale AWS.
    • Database: specifica il database predefinito da modellare. Altri database sono accessibili, ma Looker considera questo database come database predefinito.
    • Username (Nome utente): specifica l'ID della chiave di accesso AWS.
    • Password: specifica la chiave di accesso segreta di AWS.
    • Persistent Derived Tables (Tabelle derivate permanenti): seleziona questa opzione per attivare le PDT.
    • Temp Database (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 Additional Params (Parametri aggiuntivi); consulta la sezione Specificare il bucket S3 per l'output dei risultati della query e le PDT in questa pagina.
    • Max PDT Builder Connections (Numero massimo di connessioni a generatore PDT): specifica il numero di possibili build di PDT simultanee su questa connessione. L'impostazione di un valore troppo elevato potrebbe influire negativamente sui tempi delle query. Per ulteriori informazioni, consulta la pagina della documentazione dedicata alla connessione di Looker al tuo database.
    • Additional Params (Parametri 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 Specificare il bucket S3 per l'output dei risultati delle query e le PDT in questa pagina.
      • Segna per risultati in streaming. Se hai applicato il criterio athena:GetQueryResultsStream all'utente Athena, puoi aggiungere ;UseResultsetStreaming=1 alla fine dei parametri aggiuntivi per migliorare notevolmente le prestazioni dell'estrazione con 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.
    • Max Connections (Numero massimo di connessioni): per impostazione predefinita è 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 sui limiti di servizio di Athena. Per ulteriori informazioni, consulta la pagina della documentazione dedicata alla 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 dedicata alla connessione di Looker al tuo database.
    • SQL Runner Precache (Pre-cache SQL Runner): deseleziona questa opzione se preferisci che SQL Runner carichi le informazioni sulle tabelle solo quando vengono selezionate. Per ulteriori informazioni, consulta la pagina della documentazione dedicata alla connessione di Looker al tuo database.
    • Fuso orario del database: 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 Utilizzo delle impostazioni del fuso orario.

Questa guida fornisce ulteriori dettagli sulle configurazioni JDBC personalizzate e su altre informazioni di configurazione.

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

Utilizza il campo Additional Params (Parametri aggiuntivi) della pagina Connections (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 metodo alternativo per configurare la proprietà Amazon Athena S3OutputLocation, necessaria per le connessioni JDBC di Athena. Per scoprire di più e per un elenco di tutte le opzioni disponibili per i driver JDBC, consulta la documentazione di Athena sulle opzioni per i driver JDBC.

Nel campo Additional Params (Parametri 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à PDT, inserisci il percorso della directory nel bucket S3 in alto nel campo Temp Database (Database temporaneo). Ad esempio, se vuoi che Looker scriva le PDT in s3://<s3-bucket>/looker_scratch, inseriscile nel campo Temp Database (Database temporaneo):

`looker_scratch`

Inserisci solo il percorso della directory. Looker riceve il nome del bucket S3 dal parametro s3_staging_dir che inserisci nel campo Additional Params (Parametri aggiuntivi).

Considerazioni sui bucket S3

È consigliabile configurare i cicli di vita degli oggetti Amazon S3 per eliminare periodicamente i file non necessari nel bucket S3 specificato. Ecco alcuni dei motivi possibili:

  • Poiché Athena archivia i risultati per ogni query in un bucket S3, consulta il documento Athena Querying.
  • Se hai attivato le PDT, quando viene creata una PDT, i metadati relativi alla tabella creata vengono archiviati nel bucket S3.

Risorse

Debug

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

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

Supporto delle funzionalità

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

Nella versione più recente di Looker, Amazon Athena supporta le seguenti funzionalità di Looker:

Passaggi successivi

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