Databricks

Netzwerk-Datenverkehr verschlüsseln

Es empfiehlt sich, den Netzwerkverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Sehen Sie sich eine der Optionen an, die auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren beschrieben werden.

Looker-Nutzer erstellen

Looker authentifiziert sich bei Databricks mit persönlichen Zugriffstokens. Folgen Sie der Databricks-Dokumentation, um ein persönliches Zugriffstoken für einen Databricks-Nutzer zu erstellen, der in Looker verwendet werden kann.

Fügen Sie diesem Nutzer mit GRANT Berechtigungen hinzu.

Der Looker-Nutzer muss mindestens die Berechtigungen SELECT und READ_METADATA haben.

GRANT SELECT ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`

Serverinformationen

Folgen Sie der Databricks-Dokumentation, um den HTTP-Pfad für Ihren Databricks-Cluster zu finden. Sie wird auf dieser Seite als <YOUR_HTTP_PATH> bezeichnet.

Persistente abgeleitete Tabellen einrichten

Wenn Sie persistente abgeleitete Tabellen verwenden möchten, erstellen Sie eine separate Datenbank.

CREATE DATABASE <YOUR_SCRATCH_DATABASE>

Dazu müssen auch zusätzliche schreibbasierte Nutzerberechtigungen gewährt werden.

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>`

Looker-Verbindung zu Ihrer Datenbank erstellen

Wählen Sie in Looker im Bereich Verwaltung die Option Verbindungen und dann Verbindung hinzufügen aus.

Geben Sie die Verbindungsdetails ein. Der Großteil der Einstellungen gilt für die meisten Datenbankdialekte. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden. Einige der Einstellungen werden im Folgenden beschrieben:

  • Name: Geben Sie den Namen der Verbindung an. So verweisen Sie in LookML-Projekten auf die Verbindung.
  • Dialekt: Geben Sie den Dialekt Databricks an.
  • Host: Geben Sie die URL des Databricks-Arbeitsbereichs an. Beispiel: dbc-xxxxxxxx.cloud.databricks.com/.
  • Port: Geben Sie den Datenbankport an. Der Standardwert ist 443.
  • Datenbank: Geben Sie den Namen der Datenbank an, die für Looker-Abfragen verwendet werden soll. Der Standardwert ist default.
  • Katalog: Geben Sie für Databricks-Datenbanken mit aktiviertem Unity Catalog den Namen des Katalogs an, der für Looker-Abfragen verwendet werden soll. Wenn Sie keinen Katalog angeben, greift Looker nur auf Schemas aus dem Standardkatalog zu. Weitere Informationen finden Sie unter Looker-Funktionen mit Databricks Unity Catalog.
  • Authentifizierung: Wählen Sie Datenbankkonto oder OAuth aus:
    • Verwenden Sie ein Datenbankkonto, um ein persönliches Databricks-Zugriffstoken anzugeben, das für die Verbindung mit Looker verwendet wird. Eine Anleitung dazu finden Sie im Abschnitt Looker-Nutzer erstellen.
      • Geben Sie unter Nutzername den Wert token ein. Geben Sie in dieses Feld nicht die E-Mail-Adresse des Databricks-Nutzers ein.
      • Geben Sie unter Passwort das persönliche Zugriffstoken für Databricks ein.
    • Verwenden Sie OAuth, um OAuth für die Verbindung zu konfigurieren. Weitere Informationen finden Sie im Abschnitt OAuth für Databricks-Verbindungen konfigurieren.
  • PDTs aktivieren: Mit dieser Ein/Aus-Schaltfläche können Sie persistente abgeleitete Tabellen aktivieren. Wenn PDTs aktiviert sind, werden im Fenster Connection (Verbindung) zusätzliche PDT-Einstellungen und der Bereich PDT Overrides (PDT-Überschreibungen) angezeigt. Hinweis: PDTs werden für Databricks-Verbindungen, die OAuth verwenden nicht unterstützt.
  • Temporäre Datenbank: Geben Sie die Datenbank ein, in der Sie PDTs speichern möchten.
  • Maximale Anzahl von PDT-Builder-Verbindungen: Geben Sie die Anzahl der möglichen gleichzeitigen PDT-Builds für diese Verbindung an. Wenn Sie diesen Wert zu hoch ansetzen, kann sich das negativ auf die Abfragezeiten auswirken. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
  • Zusätzliche JDBC-Parameter: Fügen Sie alle zusätzlichen Spark JDBC-Parameter hinzu.

  • Wartungszeitplan für Datengruppe und PAT: Ein cron-Ausdruck, der angibt, wann Looker Datengruppen und persistente abgeleitete Tabellen prüfen sollte. Weitere Informationen zu dieser Einstellung finden Sie in der Dokumentation Wartungszeitplan für Datengruppe und PAT.

  • SSL: Aktivieren Sie SSL-Verbindungen.

  • SSL überprüfen: Aktivieren Sie diese Option, um eine strenge SSL-Zertifikatüberprüfung zu erzwingen.

  • Maximale Verbindungen pro Knoten: Sie können für diese Einstellung anfänglich den Standardwert beibehalten. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden im Abschnitt Maximale Verbindungen pro Knoten.

  • Zeitlimit des Verbindungspools: Sie können für diese Einstellung anfänglich den Standardwert beibehalten. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden im Abschnitt Zeitlimit des Verbindungspools.

  • SQL-Runner-Precache: Deaktivieren Sie dieses Kästchen, damit SQL-Runner Tabelleninformationen nicht vorab lädt, sondern nur bei Auswahl einer Tabelle. Weitere Informationen zu dieser Einstellung finden Sie auf der Seite Looker mit Ihrer Datenbank verbinden im Abschnitt SQL Runner Precache.

  • Datenbankzeitzone: Geben Sie die Zeitzone an, die in der Datenbank verwendet werden soll. Lassen Sie dieses Feld leer, wenn Sie keine Zeitzonenumrechnung vornehmen möchten. Weitere Informationen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.

Klicken Sie auf Test, um die Verbindung zu testen und zu prüfen, ob sie richtig konfiguriert ist. Wenn Verbindung möglich angezeigt wird, drücken Sie Verbinden. Daraufhin werden die übrigen Verbindungstests ausgeführt, um zu überprüfen, ob das Dienstkonto ordnungsgemäß und mit den richtigen Rollen eingerichtet wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankverbindung testen.

Looker-Funktionen mit Databricks Unity Catalog

Looker unterstützt Verbindungen zu Databricks-Datenbanken mit aktiviertem Unity Catalog. Sie können den Katalognamen im Feld Catalog (Katalog) des Fensters Connection (Verbindung) in Looker angeben, wenn Sie eine Looker-Verbindung zu Ihrer Datenbank erstellen oder eine vorhandene Looker-Verbindung zu einer Databricks-Datenbank bearbeiten.

Wenn Ihre Databricks-Datenbank für Unity Catalog aktiviert ist, können Sie im Feld Catalog der Looker-Verbindung einen Databricks-Katalog angeben. Wenn Sie einen Databricks-Katalog angeben, verwendet Looker den Katalog in den folgenden Fällen:

  • Wenn Sie ein neues LookML-Projekt aus Ihrer Datenbank generieren, erstellt Looker die Projektdateien basierend auf den Tabellen im konfigurierten Katalog Ihrer Verbindung.
  • Wenn Sie in der Looker-IDE eine Ansicht aus einer Tabelle erstellen, werden für bestehende Projekte nur Ansichtsdateien aus den Tabellen im konfigurierten Katalog Ihrer Verbindung erstellt.
  • Wenn Sie SQL Runner verwenden, können Sie nur Schemas aus dem konfigurierten Katalog Ihrer Verbindung auswählen.

Wenn Ihre Databricks-Datenbank für den Unity Catalog aktiviert ist und die Looker-Verbindung im Feld Katalog keinen Wert hat, greifen die meisten Looker-Funktionen nur auf Schemas aus dem Standardkatalog zu. Das ist beispielsweise in den folgenden Fällen der Fall:

  • Wenn Sie ein neues LookML-Projekt aus Ihrer Datenbank generieren, erstellt Looker die Projektdateien anhand der Tabellen im Unity Catalog-Standardkatalog.
  • Wenn Sie für vorhandene Projekte die Looker IDE zum Erstellen einer Ansicht aus einer Tabelle verwenden, kann Looker Ansichtsdateien nur aus den Tabellen im Unity Catalog-Standardkatalog erstellen.
  • Wenn Sie SQL Runner verwenden, können Sie nur Schemas aus dem Unity-Katalog-Standardkatalog auswählen.

OAuth für Databricks-Verbindungen konfigurieren

Looker unterstützt OAuth für Databricks-Verbindungen. Das bedeutet, dass sich jeder Looker-Nutzer mit seinem eigenen OAuth-Nutzerkonto in der Datenbank authentifiziert und Looker dazu autorisiert, Abfragen in der Datenbank auszuführen.

Mit OAuth können Datenbankadministratoren die folgenden Aufgaben ausführen:

  • Überwachen, welche Looker-Benutzer Abfragen mit der Datenbank ausführen
  • Rollenbasierte Zugriffssteuerung mithilfe von Berechtigungen auf Datenbankebene erzwingen
  • OAuth-Tokens für alle Prozesse und Aktionen verwenden, die auf die Datenbank zugreifen, anstatt Datenbank-IDs und Passwörter an mehreren Stellen einzubetten
  • Autorisierung für einen bestimmten Nutzer direkt über die Datenbank widerrufen

Bei Databricks-Verbindungen, die OAuth verwenden, müssen sich Nutzer regelmäßig wieder anmelden, wenn ihre OAuth-Tokens ablaufen.

Beachten Sie Folgendes für OAuth-Verbindungen auf Datenbankebene:

  • Wenn ein Benutzer sein OAuth-Token ablaufen lässt, sind alle Looker-Zeitpläne oder -Benachrichtigungen des Benutzers davon betroffen. Um dies zu verhindern, sendet Looker dem Inhaber jedes Zeitplans und jeder Benachrichtigung eine Benachrichtigungs-E-Mail, bevor das aktuelle aktive OAuth-Token abläuft. Looker sendet diese E-Mail-Benachrichtigungen 14 Tage, 7 Tage und 1 Tag vor Ablauf des Tokens. Der Nutzer kann auf seiner Looker-Benutzerseite Looker für die Datenbank neu autorisieren, um Unterbrechungen bei seinen Zeitplänen und Benachrichtigungen zu vermeiden. Weitere Informationen finden Sie auf der Dokumentationsseite Nutzerkonteneinstellungen personalisieren.
  • Da Datenbankverbindungen, die OAuth verwenden, „pro Nutzer“ gelten, werden auch Caching-Richtlinien pro Nutzer und nicht nur pro Abfrage angewendet. Anstatt also bei jeder Ausführung derselben Abfrage innerhalb des Caching-Zeitraums im Cache gespeicherte Ergebnisse zu verwenden, verwendet Looker im Cache gespeicherte Ergebnisse nur dann, wenn derselbe Nutzer die gleiche Abfrage innerhalb des Caching-Zeitraums ausgeführt hat. Weitere Informationen zum Caching finden Sie auf der Dokumentationsseite Abfragen im Cache speichern.
  • Persistente abgeleitete Tabellen (PDTs) werden für Databricks-Verbindungen mit OAuth nicht unterstützt.
  • Wenn ein Looker-Administrator im SUDO-Status als anderer Benutzer verwendet wird, verwendet der Administrator das OAuth-Zugriffstoken dieses Benutzers. Wenn das Zugriffstoken des Benutzers abgelaufen ist, kann der Administrator kein neues Token im Namen des Benutzers erstellen, für den er sich angemeldet hat. Informationen zur Verwendung des Befehls sudo finden Sie auf der Dokumentationsseite Nutzer.
  • Wenn sich ein Benutzer von Looker aus mit OAuth in Databricks anmeldet, zeigt Looker keinen expliziten Dialog zur Nutzereinwilligung an. Wenn Sie OAuth mit Looker einrichten, stimmen Sie implizit zu, dass Ihre Looker-Instanz auf Ihre Databricks-Datenbank zugreift.
  • Wenn Sie OAuth für eine Databricks-Verbindung verwenden möchten, benötigen Sie Databricks-Nutzer oder Dienst-Hauptkonten, die für Looker-Abfragen verwendet werden können. Außerdem müssen Sie den Nutzern und Dienst-Hauptkonten die Databricks-Berechtigungen erteilen, die Looker benötigt, um auf die Datenquellen zuzugreifen und die erforderlichen Aktionen in Databricks auszuführen.

Wenn Sie eine Databricks-Verbindung zu Looker mit OAuth erstellen möchten, müssen Sie die folgenden allgemeinen Schritte ausführen, die in den folgenden Abschnitten beschrieben werden:

  1. Benutzerdefinierte OAuth-Anwendung in Databricks aktivieren
  2. Verbindung in Looker konfigurieren

Benutzerdefinierte OAuth-Anwendung in Databricks aktivieren

Um OAuth für eine Looker-Verbindung zu Databricks zu verwenden, müssen Sie Looker als benutzerdefinierte OAuth-Anwendung für Ihre Databricks-Datenbank aktivieren. Gehen Sie dazu so vor:

  1. Melden Sie sich in der Databricks-Kontokonsole an.
  2. Klicken Sie in der Seitenleiste auf das Symbol Einstellungen.
  3. Klicken Sie im Fenster Settings (Einstellungen) auf den Tab App Connections (App-Verbindungen).
  4. Klicken Sie auf dem Tab App Connections (App-Verbindungen) auf Add connection (Verbindung hinzufügen).
  5. Geben Sie im Databricks-Dialogfeld Verbindung hinzufügen die folgenden Werte ein:

    • Anwendungsname: Geben Sie einen aussagekräftigen Namen an, z. B. „Looker-Integration“.
    • Weiterleitungs-URLs: Geben Sie die Looker-URL ein, an die Nutzer nach erfolgreicher Autorisierung von Databricks weitergeleitet werden sollen. Verwenden Sie dabei dieses Format (ersetzen Sie example.looker.com durch die URL Ihrer Looker-Instanz):

      https://example.looker.com/external_oauth/redirect
      
    • Zugriffsbereiche: Wählen Sie SQL aus, damit Looker Daten über SQL abfragen kann.

    • Clientschlüssel generieren: Aktivieren Sie diese Option.

  6. Klicken Sie im Databricks-Dialogfeld Verbindung hinzufügen auf Hinzufügen.

  7. Kopieren und speichern Sie die von Databricks generierte Client-ID und den Clientschlüssel sicher.

Die Registrierung einer OAuth-Anwendung kann bis zu 30 Minuten dauern. Weitere Informationen finden Sie in der offiziellen Databricks-Dokumentation.

Verbindung in Looker konfigurieren

Nachdem Sie Looker als benutzerdefinierte OAuth-Anwendung in Ihrer Databricks-Datenbank konfiguriert haben, können Sie eine Looker-Verbindung zu Databricks konfigurieren, die OAuth verwendet.

  1. Wählen Sie in Looker im Bereich Verwaltung die Option Verbindungen und dann Verbindung hinzufügen aus.
  2. Geben Sie die Verbindungsdetails ein, wie im Abschnitt Looker-Verbindung zu Ihrer Datenbank erstellen auf dieser Seite beschrieben.
  3. Wählen Sie im Feld Authentifizierung die Option OAuth aus.
  4. Wenn Sie die Option OAuth auswählen, werden in Looker die Felder OAuth-Client-ID und OAuth-Clientschlüssel angezeigt. Geben Sie für diese Werte die Client-ID und den Clientschlüssel ein, die von Databricks generiert wurden, als Sie Looker als benutzerdefinierte OAuth-Anwendung in Databricks aktiviert haben.
  5. Klicken Sie unten auf der Seite Connections Settings (Verbindungseinstellungen) auf die Schaltfläche Test (Testen), um zu prüfen, ob Looker den OAuth-Ablauf erfolgreich einrichten und eine Verbindung zu Ihrer Databricks-Instanz herstellen kann.

Funktionsunterstützung

Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.

Databricks unterstützt ab Looker 24.16 die folgenden Features:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Ja
Symmetrische Summen
Ja
Abgeleitete Tabellen
Ja
Persistente SQL-abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Ansichten
Ja
Abfrage beenden
Ja
SQL-basierte Pivot-Tabellen
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Perzentil der unterschiedlichen Werte
Nein
SQL Runner – Prozesse anzeigen
Nein
SQL Runner – Tabelle beschreiben
Ja
SQL Runner-Indexe für Serien
Nein
SQL Runner – Select 10
Ja
Anzahl der SQL-Runner
Ja
SQL Explain
Ja
OAuth-Anmeldedaten
Ja
Kontextkommentare
Ja
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Ja
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansichten
Nein
Ungefähre Anzahl einzelner
Nein