Puoi configurare l'istanza Databricks in modo che funzioni con Looker per analizzare e visualizzare i dati per i report operativi. Looker si connette a Databricks solo quando Unity Catalog è attivato. La configurazione richiede la crittografia del traffico di rete, la creazione di un utente Looker dedicato e la configurazione delle autorizzazioni dell'utente.
Crittografia del traffico di rete
È una best practice criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilita l'accesso sicuro ai database.
Crea un utente Looker
Looker si autentica su Databricks tramite token di accesso personali. Segui la documentazione di Databricks per creare un token di accesso personale per un utente Databricks da utilizzare in Looker.
Aggiungi autorizzazioni a questo utente con GRANT.
Come minimo, l'utente di Looker deve disporre delle autorizzazioni SELECT e READ_METADATA.
GRANT SELECT ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
Informazioni server
Segui la documentazione di Databricks per trovare il percorso HTTP del tuo cluster Databricks. In questa pagina, questo verrà chiamato <YOUR_HTTP_PATH>.
Configurazione delle tabelle derivate permanenti
Per utilizzare le tabelle derivate permanenti, crea un database separato.
CREATE DATABASE <YOUR_SCRATCH_DATABASE>
Inoltre, sarà necessario concedere autorizzazioni dell'utente aggiuntive basate sulla scrittura.
GRANT SELECT CREATE MODIFY ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
Creazione della connessione di Looker al tuo database
Nella sezione Admin (Amministratore) di Looker, seleziona Connections (Connessioni) e poi fai clic su Add Connection (Aggiungi connessione).
Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggioranza dei dialetti di database. Per informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database. Alcune delle impostazioni sono descritte di seguito:
- Nome: specifica il nome della connessione. Questo è il modo in cui farai riferimento alla connessione nei progetti LookML.
- Dialetto: specifica il dialetto Databricks.
- Host: specifica l'URL del workspace Databricks. Ad esempio,
dbc-yyyyyyyy.cloud.databricks.com/. - Porta: specifica la porta del database. Il valore predefinito è 443.
- Database: specifica il nome del database da utilizzare per le query di Looker. Il valore predefinito è
default. - Catalogo: per i database Databricks con Unity Catalog abilitato, specifica il nome del catalogo da utilizzare per le query di Looker. Se non specifichi un catalogo, Looker accederà agli schemi solo dal catalogo predefinito. Per saperne di più, consulta Funzionalità di Looker con Databricks Unity Catalog.
- Autenticazione: seleziona Account database o OAuth:
- Utilizza Database Account (Account database) per specificare un token di accesso personale di Databricks che verrà utilizzato per connettersi a Looker (per istruzioni, consulta la sezione Create a Looker user (Crea un utente Looker)).
- In Username (Nome utente), inserisci il valore
token(non inserire l'indirizzo email dell'utente Databricks in questo campo). - In Password, inserisci il token di accesso personale di Databricks.
- In Username (Nome utente), inserisci il valore
- Utilizza OAuth per configurare OAuth per la connessione. Per saperne di più, consulta la sezione Configurazione di OAuth per le connessioni Databricks.
- Utilizza Database Account (Account database) per specificare un token di accesso personale di Databricks che verrà utilizzato per connettersi a Looker (per istruzioni, consulta la sezione Create a Looker user (Crea un utente Looker)).
- Abilita PDT: utilizza questo pulsante di attivazione/disattivazione per abilitare le tabelle derivate permanenti. Quando le PDT sono abilitate, la finestra Connessione mostra impostazioni PDT aggiuntive e la sezione Override PDT. Nota: le PDT non sono supportate per le connessioni Databricks che utilizzano OAuth.
- Database temporaneo: inserisci il database che vuoi utilizzare per archiviare le PDT.
- 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 database.
Parametri JDBC aggiuntivi: aggiungi eventuali parametri JDBC aggiuntivi. Consulta la sezione Parametri JDBC supportati di questa pagina per l'elenco dei parametri supportati da Looker.
Pianificazione della manutenzione: un'espressione
cronche indica quando Looker deve controllare i gruppi di dati e le tabelle derivate permanenti. Scopri di più su questa impostazione nella documentazione relativa alla pianificazione della manutenzione.SSL: seleziona questa opzione per utilizzare le connessioni SSL.
Verifica SSL: seleziona questa opzione per applicare una verifica rigorosa del certificato SSL.
Numero massimo di connessioni per nodo: inizialmente puoi lasciare questa impostazione sul valore predefinito. Scopri di più su questa impostazione nella sezione Max connessioni per nodo della pagina della documentazione Connessione di Looker al tuo database.
Timeout del pool di connessioni: inizialmente puoi lasciare questa impostazione sul valore predefinito. Scopri di più su questa impostazione nella sezione Timeout del pool di connessioni della pagina della documentazione Connessione di Looker al database.
SQL Runner Precache: per fare in modo che SQL Runner non precarichi le informazioni sulle tabelle e le carichi solo quando viene selezionata una tabella, deseleziona questa casella di controllo. Scopri di più su questa impostazione nella sezione SQL Runner Precache della pagina di documentazione Connessione di Looker al database.
Fetch Information Schema For SQL Writing (Recupera schema informazioni per scrittura SQL): quando questa impostazione è abilitata, Looker utilizza lo schema di informazioni del database per ottimizzare la scrittura SQL. Scopri di più su questa impostazione nella sezione Recupera schema informazioni per scrittura SQL della pagina della documentazione Connessione di Looker al database.
Fuso orario database: specifica il fuso orario da utilizzare nel database. Lascia vuoto questo campo se non vuoi convertire il fuso orario. Per ulteriori informazioni, consulta la pagina della documentazione dedicata all'uso delle impostazioni relative al fuso orario.
Per verificare che la connessione sia riuscita, fai clic sul pulsante Test Connection (Verifica connessione) nella sezione Status details (Dettagli stato) in fondo alla pagina Connections Settings (Impostazioni connessioni).
Se Looker visualizza Can Connect (Connessione possibile), premi Connect (Connetti) per creare la connessione.
La connessione al tuo database viene quindi aggiunta all'elenco della pagina Connections (Connessioni) di Admin (Amministrazione) di Looker.
Funzionalità di Looker con Databricks Unity Catalog
Looker supporta le connessioni ai database Databricks con Unity Catalog abilitato. Puoi specificare il nome del catalogo nel campo Catalogo della finestra Connessione di Looker quando crei una connessione di Looker al tuo database o quando modifichi una connessione di Looker esistente a un database Databricks.
Se il tuo database Databricks è abilitato per Unity Catalog, puoi specificare un catalogo Databricks nel campo Catalog (Catalogo) della connessione di Looker. Quando specifichi un catalogo Databricks, Looker lo utilizza nei seguenti scenari:
- Quando generi un nuovo progetto LookML dal tuo database, Looker crea i file di progetto in base alle tabelle nel catalogo configurato della connessione.
- Per i progetti esistenti, quando utilizzi l'IDE di Looker per creare una vista da una tabella, Looker creerà i file di vista solo dalle tabelle nel catalogo configurato della connessione.
- Quando utilizzi SQL Runner, puoi selezionare solo gli schemi dal catalogo configurato della connessione.
Se il tuo database Databricks è abilitato per Unity Catalog e la connessione di Looker non ha un valore nel campo Catalogo, la maggior parte delle funzionalità di Looker accederà agli schemi solo dal catalogo predefinito, ad esempio nei seguenti scenari:
- Quando generi un nuovo progetto LookML dal tuo database, Looker crea i file di progetto in base alle tabelle nel catalogo predefinito di Unity Catalog.
- Per i progetti esistenti, quando utilizzi l'IDE di Looker per creare una vista da una tabella, Looker può creare file di vista solo dalle tabelle nel catalogo predefinito di Unity Catalog.
- Quando utilizzi SQL Runner, puoi selezionare solo gli schemi dal catalogo predefinito di Unity Catalog.
Configurazione di OAuth per le connessioni Databricks
Looker supporta OAuth per le connessioni Databricks, il che significa che ogni utente di 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à:
- Controllare quali utenti di Looker eseguono query sul database
- Applica i controlli degli accessi basati sui ruoli utilizzando le autorizzazioni a livello di database
- Utilizza i token OAuth per tutti i processi e le azioni che accedono al database, anziché incorporare ID e password del database in più posizioni
- Revocare l'autorizzazione per un determinato utente direttamente tramite il database
Con le connessioni Databricks che utilizzano OAuth, gli utenti devono eseguire nuovamente l'accesso periodicamente alla scadenza dei token OAuth.
Tieni presente quanto segue per le connessioni OAuth a livello di database:
- Se un utente lascia scadere il proprio token OAuth, tutte le pianificazioni o gli avvisi di Looker di sua proprietà saranno interessati. Per evitare questo problema, Looker invierà un'email di notifica al proprietario di ogni pianificazione e di ogni avviso prima della scadenza del token OAuth attivo corrente. Looker invia queste email di notifica 14 giorni, 7 giorni e 1 giorno prima della scadenza del token. L'utente può andare alla propria pagina utente di Looker per autorizzare nuovamente Looker nel database ed evitare interruzioni delle pianificazioni e degli avvisi. Per maggiori dettagli, consulta la pagina della documentazione Personalizzazione delle impostazioni dell'account utente.
- Poiché le connessioni al database che utilizzano OAuth sono "per utente", anche i criteri di memorizzazione nella cache sono per utente e non solo per query. Ciò significa che, anziché utilizzare i risultati memorizzati nella cache ogni volta che la stessa query viene eseguita entro il periodo di memorizzazione nella cache, Looker utilizzerà i risultati memorizzati nella cache solo se lo stesso utente ha eseguito la stessa query entro il periodo di memorizzazione nella cache. Per ulteriori informazioni sulla memorizzazione nella cache, consulta la pagina della documentazione Memorizzazione delle query nella cache.
- Le tabelle derivate permanenti (PDT) non sono supportate per le connessioni Databricks con OAuth.
- Quando un amministratore di Looker esegue il comando sudo come un altro utente, utilizza il token di accesso OAuth di quell'utente. Se il token di accesso dell'utente è scaduto, l'amministratore non può creare un nuovo token per conto dell'utente di cui ha assunto l'identità. Per informazioni sull'utilizzo del comando
sudo, consulta la pagina della documentazione relativa agli utenti. - Quando un utente avvia un flusso di autorizzazione OAuth per una connessione Databricks in Looker, Looker visualizza una finestra di dialogo Autorizza connessione OAuth che informa l'utente che l'autorizzazione della connessione consente all'istanza di Looker di accedere ai dati per suo conto e che gli utenti con privilegi di Looker, come amministratori o sviluppatori, potrebbero avere visibilità sui suoi dati. L'utente deve selezionare Autorizza prima di procedere con l'accesso a Databricks. Queste informazioni sul consenso vengono memorizzate nello spazio di archiviazione locale del browser dell'utente e la finestra di dialogo viene visualizzata di nuovo se lo spazio di archiviazione locale viene cancellato. Dopo che l'utente seleziona Autorizza, Databricks non mostra un'ulteriore finestra di dialogo per il consenso dell'utente.
- Per utilizzare OAuth per una connessione Databricks, devi disporre di utenti o entità servizio Databricks che possono essere utilizzati per le query di Looker e devi fornire agli utenti e alle entità servizio le autorizzazioni Databricks di cui Looker avrà bisogno per accedere alle origini dati ed eseguire le azioni richieste all'interno di Databricks.
Per creare una connessione Databricks a Looker utilizzando OAuth, devi seguire questi passaggi generali, descritti in dettaglio nelle sezioni seguenti:
Abilitazione di un'applicazione OAuth personalizzata in Databricks
Per utilizzare OAuth per una connessione di Looker a Databricks, devi abilitare Looker come applicazione OAuth personalizzata per il tuo database Databricks seguendo questi passaggi:
- Accedi alla console dell'account Databricks.
- Fai clic sull'icona Impostazioni nel riquadro laterale.
- Fai clic sulla scheda Connessioni app nella finestra Impostazioni.
- Nella scheda Connessioni app, fai clic su Aggiungi connessione.
Inserisci i seguenti valori nella finestra di dialogo Aggiungi connessione di Databricks:
- Nome applicazione: fornisci un nome descrittivo, ad esempio "Integrazione di Looker".
URL di reindirizzamento: inserisci l'URL di Looker a cui Databricks reindirizzerà gli utenti dopo l'autorizzazione, utilizzando questo formato (sostituisci
example.looker.comcon l'URL della tua istanza di Looker):https://example.looker.com/external_oauth/redirectAmbiti di accesso: seleziona SQL per consentire a Looker di eseguire query sui dati tramite SQL.
Genera un client secret: attiva questa opzione.
Fai clic su Aggiungi nella finestra di dialogo Aggiungi connessione di Databricks.
Copia e archivia in modo sicuro l'ID client e il client secret generati da Databricks.
La registrazione di un'applicazione OAuth può richiedere fino a 30 minuti per l'elaborazione nel database Databricks. Per saperne di più, consulta la documentazione ufficiale di Databricks.
Configura la connessione in Looker
Dopo aver configurato Looker come applicazione OAuth personalizzata nel tuo database Databricks, puoi configurare una connessione di Looker a Databricks che utilizza OAuth.
- Nella sezione Admin (Amministratore) di Looker, seleziona Connections (Connessioni) e poi fai clic su Add Connection (Aggiungi connessione).
- Compila i dettagli della connessione, come descritto nella sezione Creazione della connessione di Looker al database di questa pagina.
- Seleziona l'opzione OAuth nel campo Authentication (Autenticazione).
- Quando selezioni l'opzione OAuth, Looker visualizza i campi ID client OAuth e Client secret OAuth. Per questi valori, inserisci l'ID client e il client secret generati da Databricks quando hai abilitato Looker come applicazione OAuth personalizzata in Databricks.
- Seleziona il pulsante Test in fondo alla pagina Connections Settings (Impostazioni connessioni) per assicurarti che Looker possa stabilire correttamente il flusso OAuth e connettersi alla tua istanza Databricks.
Parametri JDBC supportati
Per Databricks, Looker supporta i seguenti parametri JDBC nel campo Parametri JDBC aggiuntivi per la connessione. Per informazioni su questi parametri, consulta la documentazione del tuo database.
Auth_FlowAuthMechcatalogSchemaSwitchConnSchemahttpPathLogLevelOAuth2ClientIdOAuth2SecretPWDSocketTimeoutssltransportModeUIDUserAgentEntry
Funzionalità supportate
Affinché Looker supporti alcune funzionalità, anche il dialetto del database deve supportarle.
Databricks supporta le seguenti funzionalità a partire da Looker 26.22:
| Funzionalità | Supportata? |
|---|---|
| Looker (Google Cloud core) | |
| Aggregati simmetrici | |
| Tabelle derivate | |
| Tabelle derivate SQL permanenti | |
| Tabelle derivate permanenti native | |
| Visualizzazioni stabili | |
| Interruzione delle query | |
| Pivot basati su SQL | |
| Fusi orari | |
| SSL | |
| Subtotali | |
| Parametri JDBC aggiuntivi | |
| Sensibile alle maiuscole | |
| Tipo di località | |
| Tipo di elenco | |
| Percentile | |
| Percentile valori distinti | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| SQL Runner Count | |
| Spiegazione SQL | |
| Credenziali OAuth 2.0 | |
| Commenti sul contesto | |
| Pool di connessioni | |
| Sketch HLL | |
| Riconoscimento degli aggregati | |
| PDT incrementali | |
| Millisecondi | |
| Microsecondi | |
| Viste materializzate | |
| Misure in base al periodo | |
| Conteggio approssimato valori distinti | |
| Modelli di analisi nel database | |
| Calendari personalizzati |