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üge diesem Nutzer mit GRANT Berechtigungen hinzu.

Looker-Nutzer sollten 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

Erstellen Sie eine separate Datenbank, um persistente abgeleitete Tabellen zu verwenden.

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 Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.

Geben Sie die Verbindungsdetails ein. Die meisten Einstellungen sind den meisten Datenbankdialekten gemeinsam. 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.
  • Authentication (Authentifizierung): Wählen Sie Database Account 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 für Nutzername den Wert token ein (nicht die E-Mail-Adresse des Databricks-Nutzers in dieses Feld).
      • Geben Sie unter Password (Passwort) das persönliche Zugriffstoken von 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.
  • Max. Anzahl der 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 zusätzliche Spark-JDBC-Parameter hinzu.

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

  • SSL: Aktivieren Sie diese Option, um SSL-Verbindungen zu verwenden.

  • SSL überprüfen: Aktivieren Sie diese Option, um eine strenge SSL-Zertifikatsprü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 für Verbindungspool: 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: Entfernen Sie das Häkchen aus diesem Kästchen, damit SQL Runner Tabelleninformationen nicht vorab lädt und die Tabelleninformationen nur bei Auswahl einer Tabelle geladen werden. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite 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 die Zeitzonenumrechnung nicht wünschen. 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-Funktionalität mit Databricks Unity Catalog

Looker unterstützt Verbindungen zu Databricks-Datenbanken mit aktiviertem Unity Catalog. Sie können den Katalognamen im Looker-Fenster Verbindung im Feld Katalog 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 ihn in den folgenden Szenarien:

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

Wenn Ihre Databricks-Datenbank für Unity Catalog aktiviert ist und die Looker-Verbindung keinen Wert im Feld Catalog hat, greifen die meisten Looker-Funktionen nur auf Schemas aus dem Standardkatalog zu, wie in den folgenden Szenarien:

  • 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 for Databricks-Verbindungen. Das bedeutet, dass sich jeder Looker-Benutzer bei der Datenbank authentifiziert und Looker autorisiert, Abfragen in der Datenbank mit dem eigenen OAuth-Benutzerkonto des Benutzers 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 neu 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 vermeiden, sendet Looker eine Benachrichtigungs-E-Mail an den Eigentümer jedes Zeitplans und jeder Benachrichtigung, bevor das aktuell aktive OAuth-Token abläuft. Looker sendet diese E-Mail-Benachrichtigungen 14 Tage, 7 Tage und 1 Tag vor Ablauf des Tokens. Der Benutzer kann seine Looker-Benutzerseite aufrufen, um Looker erneut für die Datenbank zu autorisieren und Unterbrechungen der Zeitpläne und Warnungen zu vermeiden. Weitere Informationen finden Sie auf der Dokumentationsseite Nutzerkontoeinstellungen personalisieren.
  • Da Datenbankverbindungen, die OAuth verwenden, nutzerbezogen sind, gelten die Caching-Richtlinien auch pro Nutzer und nicht nur pro Abfrage. Das bedeutet, dass Looker nicht bei jeder Ausführung derselben Abfrage innerhalb des Caching-Zeitraums im Cache gespeicherte Ergebnisse verwendet, sondern nur dann im Cache gespeicherte Ergebnisse, wenn innerhalb des Caching-Zeitraums derselbe Nutzer die gleiche Abfrage 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. Durch das Einrichten von OAuth mit Looker 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.

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

  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 die folgenden Werte in das Databricks-Dialogfeld Verbindung hinzufügen ein:

    • Anwendungsname: Geben Sie einen aussagekräftigen Namen an, z. B. „Looker-Integration“.
    • Weiterleitungs-URLs: Geben Sie die Looker-URL ein, an die Databricks die Nutzer nach erfolgreicher Autorisierung weiterleitet. Verwenden Sie dazu das folgende 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 Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
  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.

Unterstützte Funktionen

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

Databricks unterstützt ab Looker 24.10 die folgenden Features:

Feature 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
Anfrage wird abgebrochen
Ja
SQL-basierte Drehpunkte
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Unterschiedliches Perzentil
Nein
SQL Runner – Prozesse anzeigen
Nein
SQL Runner – Tabelle beschreiben
Ja
SQL Runner – Indexe anzeigen
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 Ansicht
Nein
Ungefähre Anzahl einzelner
Nein