Databricks

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 Abilitare l'accesso sicuro ai database.

Creare un utente Looker

Looker esegue l'autenticazione 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 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 per il tuo cluster Databricks. In questa pagina, questo valore verrà indicato come <YOUR_HTTP_PATH>.

Configurazione delle tabelle derivate permanenti

Per utilizzare le tabelle derivate persistenti, crea un database separato.

CREATE DATABASE <YOUR_SCRATCH_DATABASE>

Ciò richiederà anche la concessione di ulteriori autorizzazioni utente 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 Looker al tuo database

Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su 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. Di seguito sono descritte alcune impostazioni:

  • Name (Nome): specifica il nome della connessione. È così che farai riferimento alla connessione nei progetti LookML.
  • Dialetto: specifica il dialetto Databricks.
  • Host: specifica l'URL dello spazio di lavoro Databricks. Ad esempio, dbc-xxxxxxxx.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 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 Account database per specificare un token di accesso personale Databricks che verrà utilizzato per connettersi a Looker (consulta la sezione Creare un utente Looker per istruzioni).
      • In Nome utente, inserisci il valore token (non inserire l'email dell'utente Databricks in questo campo).
      • In Password, inserisci il token di accesso personale di Databricks.
    • Utilizza OAuth per configurare OAuth per la connessione. Per ulteriori informazioni, consulta la sezione Configurazione di OAuth per le connessioni Databricks.
  • Abilita PDT: utilizza questo pulsante di attivazione/disattivazione per abilitare le tabelle derivate permanenti. Quando i PDT sono abilitati, 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 generatore di PDT: specifica il numero di build di PDT simultanee possibili su questa connessione. Se imposti questo valore su un valore troppo alto, i tempi di esecuzione delle query potrebbero risentirne negativamente. Per saperne di più, consulta la pagina di documentazione Connessione di Looker al database.
  • Parametri JDBC aggiuntivi: aggiungi eventuali parametri JDBC di Spark aggiuntivi.

  • Pianificazione della manutenzione: un'espressione cron che 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.

  • Max connections per node (Connessioni massime per nodo): inizialmente puoi lasciare questa impostazione sul valore predefinito. Scopri di più su questa impostazione nella sezione Numero massimo di connessioni per nodo della pagina di documentazione Connessione di Looker al database.

  • Timeout del pool di connessioni: inizialmente puoi lasciare questa impostazione al valore predefinito. Scopri di più su questa impostazione nella sezione Timeout pool di connessioni della pagina di documentazione Connessione di Looker al database.

  • Pre-cache SQL Runner: per impedire a SQL Runner di precaricare le informazioni sulle tabelle e caricarle solo quando una tabella viene selezionata, deseleziona questa casella di controllo. Scopri di più su questa impostazione nella sezione Pre-cache SQL Runner della pagina di documentazione Connessione di Looker al database.

  • Fuso orario del database: specifica il fuso orario da utilizzare nel database. Lascia vuoto questo campo se non vuoi la conversione del fuso orario. Per ulteriori informazioni, consulta la pagina della documentazione relativa all'uso delle impostazioni relative al fuso orario.

Fai clic su Test per testare la connessione e assicurarti che sia configurata correttamente. Se vedi Può connettersi, premi Connetti. Vengono eseguiti gli altri test di connessione per verificare che il account di servizio sia stato configurato correttamente e con i ruoli appropriati. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività del database.

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 Looker al tuo database o quando modifichi una connessione Looker esistente a un database Databricks.

Se il tuo database Databricks è abilitato per Unity Catalog, puoi specificare un catalogo Databricks nel campo Catalogo della connessione 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 del catalogo configurato della connessione.
  • Per i progetti esistenti, quando utilizzi l'IDE di Looker per creare una vista da una tabella, Looker crea file di visualizzazione solo dalle tabelle nel catalogo configurato della connessione.
  • Quando utilizzi SQL Runner, puoi selezionare solo gli schemi dal catalogo configurato della connessione.

Se il database Databricks è abilitato per Unity Catalog e la connessione Looker non ha un valore nel campo Catalog (Catalogo), la maggior parte delle funzionalità di Looker accederà agli schemi solo dal catalogo predefinito, ad esempio negli scenari seguenti:

  • Quando generi un nuovo progetto LookML dal tuo database, Looker crea i file di progetto in base alle tabelle del 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 visualizzazione solo dalle tabelle nel catalogo predefinito di Unity Catalog.
  • Quando utilizzi SQL Runner, puoi selezionare solo gli schemi del 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 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 controlli dell'accesso 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 accedere di nuovo 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à verranno 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 invierà queste email di notifica 14 giorni, 7 giorni e 1 giorno prima della scadenza del token. L'utente può accedere alla propria pagina utente di Looker per riautorizzare l'accesso di Looker al database ed evitare interruzioni di pianificazioni e avvisi. Per maggiori dettagli, consulta la pagina della documentazione Personalizzare le impostazioni dell'account utente.
  • Poiché le connessioni al database che utilizzano OAuth sono "per utente", anche le norme 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 viene eseguita la stessa query 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 Memorizzazione nella cache delle query.
  • Le tabelle derivate permanenti (PDT) non sono supportate per le connessioni Databricks con OAuth.
  • Quando un amministratore di Looker esegue l'accesso 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ò crearne uno nuovo per conto dell'utente con privilegi amministrativi. Per informazioni sull'utilizzo del comando sudo, consulta la pagina della documentazione relativa agli utenti.
  • Quando un utente accede a Databricks da Looker utilizzando OAuth, Looker non mostra una finestra di dialogo esplicita per il consenso dell'utente. Se configuri OAuth con Looker, acconsenti implicitamente all'accesso della tua istanza Looker al tuo database Databricks.
  • Per utilizzare OAuth per una connessione Databricks, devi disporre di utenti o entità di servizio Databricks che possono essere utilizzati per le query Looker e devi fornire agli utenti e alle entità di servizio le autorizzazioni Databricks necessarie a Looker per accedere alle origini dati ed eseguire le azioni richieste in Databricks.

Per creare una connessione Databricks a Looker utilizzando OAuth, devi eseguire questi passaggi generali, descritti in dettaglio nelle sezioni seguenti:

  1. Attivare un'applicazione OAuth personalizzata in Databricks
  2. Configurare la connessione in Looker

Abilitazione di un'applicazione OAuth personalizzata in Databricks

Per utilizzare OAuth per una connessione Looker a Databricks, devi attivare Looker come applicazione OAuth personalizzata per il tuo database Databricks seguendo questi passaggi:

  1. Accedi alla console dell'account Databricks.
  2. Fai clic sull'icona Impostazioni nel riquadro laterale.
  3. Fai clic sulla scheda Connessioni app nella finestra Impostazioni.
  4. Nella scheda Connessioni app, fai clic su Aggiungi connessione.
  5. 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.com con l'URL della tua istanza di Looker):

      https://example.looker.com/external_oauth/redirect
      
    • Ambiti di accesso: seleziona SQL per consentire a Looker di eseguire query sui dati tramite SQL.

    • Genera un client secret: attiva questa opzione.

  6. Fai clic su Aggiungi nella finestra di dialogo Aggiungi connessione di Databricks.

  7. Copia e memorizza in modo sicuro l'ID client e il client secret generati da Databricks.

La registrazione di un'applicazione OAuth potrebbe 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 database Databricks, puoi configurare una connessione Looker a Databricks che utilizza OAuth.

  1. Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su Aggiungi connessione.
  2. Compila i dettagli della connessione, come descritto nella sezione Creare la connessione Looker al database di questa pagina.
  3. Seleziona l'opzione OAuth nel campo Autenticazione.
  4. Quando selezioni l'opzione OAuth, Looker mostra 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 attivato Looker come applicazione OAuth personalizzata in Databricks.
  5. Seleziona il pulsante Test nella parte inferiore della pagina Impostazioni connessioni per assicurarti che Looker possa stabilire correttamente il flusso OAuth e connettersi all'istanza Databricks.

Funzionalità supportate

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

A partire da Looker 25.10, Databricks supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti basate su SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Terminazione 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
No
SQL Runner Show Processes
No
SQL Runner Describe Table
SQL Runner Show Indexes
No
SQL Runner Select 10
Conteggio SQL Runner
SQL Explain
Credenziali OAuth 2.0
Commenti contestuali
Pool di connessioni
No
Sketch HLL
No
Aggregate awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Misure di periodo in periodo
No
Conteggio approssimativo dei valori distinti
No