Databricks

Crittografia del traffico di rete

È buona prassi criptare il traffico di rete tra l'applicazione Looker e il database. Valuta la possibilità di utilizzare una delle opzioni descritte nella pagina della documentazione Abilitare l'accesso sicuro ai database.

Creare un utente di Looker

Looker si autentica in Databricks tramite token di accesso personali. Segui la documentazione di Databricks per creare un token di accesso personale da utilizzare in Looker per un utente Databricks.

Aggiungi le autorizzazioni a questo utente con GRANT.

L'utente di Looker deve disporre almeno 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 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 ulteriori autorizzazioni utente per la 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 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 maggior parte 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. In questo modo farai riferimento alla connessione nei progetti LookML.
  • Dialect: 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 di Looker. Se non specifichi un catalogo, Looker accederà agli schemi solo dal catalogo predefinito. Per ulteriori informazioni, consulta la 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 (per istruzioni, consulta la sezione Creare un utente Looker).
      • In 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.
    • Utilizza OAuth per configurare OAuth per la connessione. Per ulteriori informazioni, consulta la sezione Configurazione di OAuth per le connessioni a Databricks.
  • Abilita PDT: utilizza questo pulsante di attivazione/disattivazione per abilitare le tabelle derivate permanenti. Quando le PDT sono attivate, la finestra Connessione mostra ulteriori impostazioni PDT 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 possibili build di PDT concorrenti su questa connessione. L'impostazione di un valore troppo alto potrebbe influire negativamente sui tempi di query. Per ulteriori informazioni, consulta la pagina di documentazione Connessione di Looker al database.
  • Parametri JDBC aggiuntivi: aggiungi eventuali parametri JDBC di Spark.

  • Pianificazione della manutenzione di PDT e gruppi di dati: 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 di PDT e gruppi di dati.

  • SSL: seleziona questa opzione per utilizzare le connessioni SSL.

  • Verifica SSL: seleziona questa opzione per applicare una verifica rigorosa del certificato SSL.

  • 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 della documentazione Connessione di Looker al database.

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

  • Pre-cache SQL Runner: per impedire a SQL Runner di precaricare le informazioni sulle tabelle e di caricarle solo quando una tabella è selezionata, deseleziona questa casella di controllo. Scopri di più su questa impostazione nella sezione Precache SQL Runner della pagina della 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 dedicata all'utilizzo delle impostazioni relative al fuso orario.

Fai clic su Test per verificare la connessione e assicurarti che sia configurata correttamente. Se vedi Può connettersi, premi Connetti. Verranno eseguiti gli altri test di connessione per verificare che l'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 di Looker al tuo database o quando modifichi una connessione di Looker esistente a un database Databricks.

Se il database Databricks è abilitato per Unity Catalog, puoi specificare un catalogo Databricks nel campo 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 del 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 visualizzazione solo dalle tabelle del 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 di Looker non ha un valore nel campo Catalog, 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 del catalogo predefinito di Unity Catalog.
  • Per i progetti esistenti, quando utilizzi l'IDE di Looker per creare una visualizzazione da una tabella, Looker può creare file di visualizzazione solo dalle tabelle del 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 a Databricks, il che significa che ogni utente di Looker si autentica nel database e autorizza Looker a eseguire query sul database con il proprio account utente OAuth.

OAuth consente agli amministratori del database di eseguire le seguenti attività:

  • Controlla quali utenti di Looker eseguono query sul database
  • Applicare controlli dell'accesso basati sui ruoli utilizzando le autorizzazioni a livello di database
  • Utilizza i token OAuth per tutte le procedure 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 quando i token OAuth scadono.

Tieni presente quanto segue per le connessioni OAuth a livello di database:

  • Se un utente lascia scadere il 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 dell'attuale token OAuth attivo. 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 autorizzare nuovamente Looker al database ed evitare interruzioni delle pianificazioni e degli 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 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 viene eseguita la stessa query entro il periodo di memorizzazione nella cache, Looker li utilizzerà 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 di documentazione Caching queries (Query di memorizzazione nella cache).
  • Le tabelle derivate permanenti (PDT) non sono supportate per le connessioni Databricks con OAuth.
  • Quando un amministratore di Looker esegue sudo come un altro utente, utilizza il token di accesso OAuth dell'utente. Se il token di accesso dell'utente è scaduto, l'amministratore non può creare un nuovo token per conto dell'utente con accesso sudo. 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 per il consenso esplicito dell'utente. Configurando 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 principali di servizio Databricks che possono essere utilizzati per le query di Looker e devi fornire agli utenti e ai principali di servizio le autorizzazioni Databricks di cui Looker avrà bisogno 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 dettagliatamente nelle sezioni seguenti:

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

Attivazione di un'applicazione OAuth personalizzata in Databricks

Per utilizzare OAuth per una connessione di 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 Looker):

      https://example.looker.com/external_oauth/redirect
      
    • Ampi 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 di elaborazione nel database Databricks. Per ulteriori informazioni, consulta la documentazione ufficiale di Databricks.

Configurare la connessione in Looker

Dopo aver configurato Looker come applicazione OAuth personalizzata nel database Databricks, puoi configurare una connessione di 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 di 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.

Databricks supporta le seguenti funzionalità a partire da Looker 24.20:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
No
Processi di visualizzazione di SQL Runner
No
Tabella Describe di SQL Runner
Indici di SQL Runner Show
No
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No