Questa pagina illustra come connettere Looker a PrestoDB o Trino.
Crittografia del traffico di rete in corso...
Una best practice consiste nel criptare il traffico di rete tra l'applicazione Looker e il tuo database. Prendi in considerazione una delle opzioni descritte nella pagina della documentazione Abilitazione dell'accesso sicuro al database.
Creazione della connessione Looker al tuo database
Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e quindi fai clic su Add Connection (Aggiungi connessione).
Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggior parte dei dialetti dei database. Per informazioni, consulta la pagina della documentazione Collegamento di Looker al tuo database. Di seguito sono descritte alcune delle impostazioni:
Dialetto: seleziona PrestoDB o Trino.
PrestoSQL è stato rinominato Trino. Se utilizzi una versione di Trino precedente alla 352, seleziona PrestoSQL dal menu Dialetto di Looker.
Host: il nome host del database.
Porta: la porta del database. La porta predefinita è 8080.
Database: il "catalogo" o "connettore", termini di Presto.
Nome utente: il nome utente dell'utente che eseguirà le query.
Queste informazioni vengono inviate al server del database solo se SSL è abilitato.
Password: password dell'utente che eseguirà le query.
Queste informazioni vengono inviate al server del database solo se SSL è abilitato.
Schema: lo schema predefinito da utilizzare quando non viene specificato alcun schema.
Autenticazione: seleziona Account database o OAuth:
- Utilizza Account database per specificare il Nome utente e la Password dell'account utente del database che verrà utilizzato per la connessione a Looker.
- Utilizza OAuth se vuoi configurare OAuth per la connessione.
Abilita le PDT: utilizza questa opzione per abilitare le tabelle derivate permanenti (PDT). Vengono visualizzati i campi PDT aggiuntivi e la sezione PDT Overrides (Override PDT) per la connessione.
Database temporaneo: lo schema per scrivere le PDT. (La versione 3.50 ha aggiunto il supporto PDT a Presto. Consulta la sezione Configurazione di PrestoDB o Trino per PDT in questa pagina per ulteriori informazioni su come configurare il supporto di Presto per PDT.)
Parametri JDBC aggiuntivi: eventuali parametri aggiuntivi del driver JDBC PrestoDB, del driver JDBC di Trino o del driver JDBC di Starburst.
SSL: seleziona questa opzione per attivare le connessioni SSL.
Verifica SSL: ignora questo campo. Tutte le connessioni SSL utilizzeranno il Truststore Java predefinito, a meno che non sia indicato diversamente con i parametri JDBC PrestoDB, il driver JDBC di Trino o il driver JDBC Starburst. Inserisci questi parametri nel campo Parametri JDBC aggiuntivi.
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 relativa al test della connettività del database.
Per salvare queste impostazioni, fai clic su Connetti.
Per saperne di più sulle impostazioni di connessione, consulta la pagina della documentazione Connessione di Looker al tuo database.
Configurazione di PrestoDB o Trino per le PDT
Le PDT non sono supportate per le connessioni che utilizzano OAuth.
Il supporto delle PDT dipende dal connettore in uso con PrestoDB o Trino . Questa sezione illustra le impostazioni di configurazione necessarie per un database temporaneo. In questo esempio si presuppone che il connettore in uso sia hive
.
Il file delle proprietà del catalogo Hive deve contenere alcune proprietà di configurazione descritte in questa sezione.
Quanto segue è necessario perché Presto memorizza nella cache i risultati del metastore Hive e Looker deve essere in grado di visualizzare subito le tabelle:
hive.metastore-cache-ttl = 0s
Queste due proprietà sono obbligatorie perché Looker deve poter rilasciare e rinominare le PDT:
hive.allow-rename-table=true
hive.allow-drop-table=true
Come riferimento, nei nostri server di test interni di Presto utilizziamo il seguente file hive.properties
, che viene utilizzato per tutti gli schemi Hive:
hive.s3.connect-timeout=1m
hive.s3.max-backoff-time=10m
hive.s3.max-error-retries=50
hive.metastore-cache-ttl = 0s
hive.metastore-refresh-interval = 5s
hive.s3.max-connections=500
hive.s3.max-client-retries=50
connector.name=hive-hadoop2
hive.s3.socket-timeout=2m
hive.s3.staging-directory=/mnt/tmp/
hive.s3.use-instance-credentials=true
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
hive.parquet.use-column-names=true
hive.allow-drop-table=true
hive.metastore.uri=thrift://<metastore-server>:9083
hive.storage-format=ORC
hive.allow-rename-table=true
Configurare OAuth per le connessioni Trino
Looker supporta OAuth per le connessioni Trino, il che significa che ogni utente Looker esegue l'autenticazione nel database e autorizza Looker a eseguire query sul database con il proprio account utente OAuth.
OAuth consente agli amministratori di database di eseguire le seguenti attività:
- Controlla quali utenti di Looker eseguono query sul database
- Applica i controlli di accesso basati sui ruoli utilizzando autorizzazioni a livello di database
- Utilizza i token OAuth per tutti i processi e le azioni che accedono al database, invece di incorporare ID e password del database in più posti
- Revocare l'autorizzazione per un determinato utente direttamente tramite il database
Con le connessioni Trino che utilizzano OAuth, gli utenti devono accedere di nuovo periodicamente alla scadenza dei loro token OAuth.
Tieni presente quanto segue per le connessioni OAuth a livello di database:
- Se un utente lascia scadere il token OAuth, le pianificazioni o gli avvisi di sua proprietà verranno influenzati. Per evitare questo problema, Looker invia un'email di notifica al proprietario di ogni pianificazione e ogni avviso prima della scadenza del token OAuth attualmente attivo. Looker invierà queste notifiche via email 14 giorni, 7 giorni e 1 giorno prima della scadenza del token. L'utente può andare alla pagina utente di Looker per autorizzare nuovamente Looker al database ed evitare qualsiasi interruzione delle pianificazioni e degli avvisi. Per maggiori dettagli, consulta la pagina della documentazione Personalizzazione delle impostazioni dell'account utente.
- Poiché le connessioni di database che utilizzano OAuth sono "per utente", i criteri di memorizzazione nella cache sono anche per utente, non solo per query. Ciò significa che, invece di utilizzare i risultati memorizzati nella cache ogni volta che la stessa query viene eseguita nel periodo di memorizzazione nella cache, Looker utilizzerà i risultati memorizzati nella cache solo se lo stesso utente ha eseguito la stessa query nel periodo di memorizzazione nella cache. Per ulteriori informazioni sulla memorizzazione nella cache, consulta la pagina della documentazione sulle query nella cache.
- Le tabelle derivate permanenti (PDT) non sono supportate per le connessioni Trino con OAuth.
- Quando un amministratore di Looker esegue l'operazione come altro utente, l'amministratore utilizzerà il token di accesso OAuth di quell'utente. Se il token di accesso dell'utente è scaduto, l'amministratore non può crearne uno nuovo per conto dell'utente sudoed. Per informazioni sull'utilizzo del comando
sudo
, consulta la pagina della documentazione Utenti. - Quando accedi ad Azure AD da Looker utilizzando OAuth, Looker non mostra una finestra di dialogo per il consenso esplicito dell'utente. Se configuri OAuth con Looker, acconsenti implicitamente all'accesso della tua istanza di Looker ai dati di Trino.
Registrazione di un'applicazione
Per attivare OAuth per Trino, devi prima registrare un'applicazione utilizzando un provider di identità supportato. Looker supporta solo Microsoft Entra ID (precedentemente noto come Azure AD) per OAuth con Trino.
Prerequisiti
- Devi avere una sottoscrizione Azure.
- Devi disporre delle autorizzazioni amministrative in Microsoft Entra ID.
Per registrare un'applicazione, segui questi passaggi:
- Vai al Portale Azure e accedi con le tue credenziali.
- Nella barra di ricerca del Portale Azure, cerca "Microsoft Entra ID" e selezionalo dai risultati.
- Nel servizio Microsoft Entra ID, fai clic su Nuova registrazione nella sezione Registrazioni app della categoria Gestisci.
- Compila il modulo di registrazione come segue:
- Nome: fornisci un nome descrittivo per l'applicazione, ad esempio
Looker Trino Connection
. - Tipi di account supportati: seleziona l'opzione appropriata in base a come vuoi limitare l'accesso. Per un caso d'uso interno, puoi selezionare Solo account in questa directory dell'organizzazione.
- URI di reindirizzamento: seleziona la piattaforma web e inserisci l'URI di reindirizzamento di Looker. Dovrebbe avere il seguente formato:
https://YOUR_LOOKER_HOSTNAME/external_oath/redirect
.
- Nome: fornisci un nome descrittivo per l'applicazione, ad esempio
- Fai clic su Registrati.
- Raccogli l'ID client, l'ID tenant e il client secret per accedere alla connessione Looker in un secondo momento.
- Puoi trovare il Client-ID e l'ID tenant nella pagina Panoramica.
- Se non conosci il tuo client secret, dovrai crearne uno nuovo. Fai clic su Certificati e i secret nella sezione Gestisci, quindi fai clic su Nuovo client secret.
- Fai clic su Esponi un'API nella sezione Gestisci.
- Accanto a URI dell'ID applicazione, fai clic su Aggiungi.
- Inserisci il tuo ID client. Deve avere il seguente formato:
api://CLIENT_ID
.
Successivamente, segui questi passaggi nel portale Azure per creare un nuovo ambito da utilizzare con Looker:
- Fai clic su Aggiungi un ambito nella sezione Ambiti definiti da questa API.
Aggiungi un Nome ambito per il nuovo ambito. Looker prevede che il nome dell'ambito sarà:
TrinoUsers.Read.All
.Il nome
TrinoUsers.Read.All
implica autorizzazioni di sola lettura, ma il nome stesso non imposta né applica alcuna autorizzazione. Assicurati di configurare l'ambito in modo da consentire solo l'accesso in lettura al tuo database.Aggiungi un Nome visualizzato e una descrizione.
Nel selettore Chi può dare il consenso?, seleziona Amministratori e utenti.
Fai clic su Aggiungi ambito.
Nella sezione Applicazioni client autorizzate, fai clic su Aggiungi un'applicazione client.
Inserisci il tuo ID client e l'ambito appena creato.
Fai clic su Add application (Aggiungi applicazione).
Successivamente, per concedere a Looker le autorizzazioni API necessarie, segui questi passaggi:
- Nella sezione Gestisci, fai clic su Autorizzazioni API.
- Fai clic su Aggiungi un'autorizzazione.
- Seleziona la scheda My APIs (Le mie API) in alto.
- Nell'elenco delle registrazioni delle app, seleziona la registrazione appena creata, ad esempio
Looker Trino Connection
. - Seleziona la casella di controllo Autorizzazioni deleghe.
- Seleziona la casella di controllo TrinoUsers.Read.All.
- Seleziona Aggiungi autorizzazione.
Configurazione del database per l'utilizzo di OAuth
Successivamente, per configurare il database Trino in modo che utilizzi OAuth, aggiungi le seguenti righe al file config.properties
Trino. Sostituisci le prime cinque righe delle variabili con iniziale maiuscola con i tuoi valori.
YOUR_HTTPS_PORT
PATH_TO_YOUR_SSL_CERTIFICATE
YOUR_TENANT_ID
YOUR_CLIENT_ID
YOUR_SHARED_SECRET
# enable SSL for OAuth
http-server.https.enabled=true
http-server.https.port=YOUR_HTTPS_PORT
http-server.https.keystore.path=PATH_TO_YOUR_SSL_CERTIFICATE
# enable OAuth 2.0
http-server.authentication.type=oauth2
http-server.authentication.oauth2.issuer=https://sts.windows.net/YOUR_TENANT_ID/
http-server.authentication.oauth2.client-id=NA_required_but_not_used
http-server.authentication.oauth2.client-secret=NA_required_but_not_used
# turn off oidc discovery - Trino will inspect tokens locally instead
http-server.authentication.oauth2.oidc.discovery=false
# URLs that Trino requires for OAuth
http-server.authentication.oauth2.jwks-url=https://login.microsoftonline.com/common/discovery/v2.0/keys
http-server.authentication.oauth2.auth-url=NA_required_but_not_used
http-server.authentication.oauth2.token-url=NA_required_but_not_used
# add audience that matches the Azure AD's Application ID URI
http-server.authentication.oauth2.additional-audiences=api://YOUR_CLIENT_ID
# set shared-secret required for internal Trino communication when authentication is enabled, see: https://github.com/trinodb/trino/issues/12397
# can be generated with the following Linux command: openssl rand 512 | base64
internal-communication.shared-secret=YOUR_SHARED_SECRET
# optionally, allow some insecure http traffic
# http-server.authentication.allow-insecure-over-http=true
Accesso per eseguire query
Una volta configurata la connessione al database per l'utilizzo di OAuth, agli utenti verrà chiesto di accedere a Microsoft Entra ID prima di eseguire le query. Sono incluse le query di esplorazioni, dashboard, Look e SQL Runner.
Gli utenti possono anche accedere a Microsoft Entra ID dalla sezione Credenziali di connessione OAuth della propria pagina Account.
Per accedere a Microsoft Entra ID utilizzando Looker:
- Fai clic sul menu utente di Looker.
- Seleziona Account.
- Nella pagina Account, fai clic su Accedi nella sezione Credenziali di connessione OAuth.
Questa azione mostrerà una finestra di dialogo di accesso. Inserisci le tue credenziali Microsoft Entra ID e seleziona Accedi per concedere a Looker l'accesso all'account del tuo database.
Dopo aver eseguito l'accesso a Microsoft Entra ID tramite Looker, puoi disconnettere o autorizzare di nuovo le tue credenziali in qualsiasi momento tramite la pagina Account, come descritto nella pagina della documentazione Personalizzazione dell'account utente.
Riferimento
Per ulteriori informazioni sulla configurazione del connettore Hive, consulta l'articolo sul connettore PrestoDB Hive, sul connettore Trino Hive o sul connettore Starburst Hive.
Supporto delle funzionalità
Affinché Looker supporti alcune funzionalità, è necessario che anche il dialetto del tuo database le supporti.
PrestoDB supporta le seguenti funzionalità a partire da Looker 24.12:
Funzionalità | Supportata? |
---|---|
Livello di assistenza | Supportato |
Looker (Google Cloud core) | Sì |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate da SQL permanente | Sì |
Tabelle derivate native permanenti | Sì |
Viste stabili | Sì |
Eliminazione delle query | Sì |
Pivot basati su SQL | Sì |
Fusi orari | Sì |
SSL | Sì |
Subtotali | Sì |
Parametri aggiuntivi JDBC | Sì |
Sensibilità alle maiuscole | Sì |
Tipo di località | Sì |
Tipo di elenco | Sì |
Percentile | Sì |
Percentile distinto | No |
Processi SQL Runner Show | Sì |
Tabella di descrizione di SQL Runner | Sì |
SQL Runner Mostra indici | No |
Selezione SQL Runner 10 | Sì |
Conteggio runner SQL | Sì |
Spiegazione SQL | Sì |
Credenziali OAuth | No |
Commenti contestuali | Sì |
Pooling di connessioni | No |
Schizzi HLL | Sì |
Consapevolezza aggregata | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | No |
Viste materializzate | No |
Conteggio approssimato distinto | Sì |
A partire da Looker 24.12, Trino supporta le seguenti funzionalità:
Funzionalità | Supportata? |
---|---|
Livello di assistenza | Supportato |
Looker (Google Cloud core) | Sì |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate da SQL permanente | Sì |
Tabelle derivate native permanenti | Sì |
Viste stabili | No |
Eliminazione delle query | Sì |
Pivot basati su SQL | Sì |
Fusi orari | Sì |
SSL | Sì |
Subtotali | Sì |
Parametri aggiuntivi JDBC | Sì |
Sensibilità alle maiuscole | Sì |
Tipo di località | Sì |
Tipo di elenco | Sì |
Percentile | Sì |
Percentile distinto | No |
Processi SQL Runner Show | Sì |
Tabella di descrizione di SQL Runner | Sì |
SQL Runner Mostra indici | No |
Selezione SQL Runner 10 | Sì |
Conteggio runner SQL | Sì |
Spiegazione SQL | Sì |
Credenziali OAuth | Sì |
Commenti contestuali | Sì |
Pooling di connessioni | No |
Schizzi HLL | Sì |
Consapevolezza aggregata | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | No |
Viste materializzate | No |
Conteggio approssimato distinto | Sì |
Passaggi successivi
Dopo aver collegato il database a Looker, configura le opzioni di accesso per gli utenti.