Sie können Ihre Databricks-Instanz so konfigurieren, dass sie mit Looker zusammenarbeitet, um Ihre Daten für operative Berichte zu analysieren und zu visualisieren. Looker stellt nur dann eine Verbindung zu Databricks her, wenn Unity Catalog aktiviert ist. Für die Einrichtung müssen Sie den Netzwerkverkehr verschlüsseln, einen dedizierten Looker-Nutzer erstellen und Nutzerberechtigungen konfigurieren.
Netzwerk-Datenverkehr verschlüsseln
Es empfiehlt sich, den Netzwerkverkehr zwischen Looker-Anwendung und Datenbank zu verschlüsseln. Prüfen Sie eine der Optionen, die auf der Dokumentationsseite Sicheren Datenbankzugriff ermöglichen beschrieben werden.
Looker-Nutzer erstellen
Looker authentifiziert sich bei Databricks über persönliche Zugriffstokens. Folgen Sie der Databricks-Dokumentation, um ein persönliches Zugriffstoken für einen Databricks-Nutzer zu erstellen, das in Looker verwendet werden soll.
Fügen Sie diesem Nutzer mit GRANT Berechtigungen hinzu.
Der Looker-Nutzer sollte 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. In diesem Verfahren wird sie 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 zusätzliche schreibbasierte Nutzerberechtigungen erteilt 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. Der Großteil der Einstellungen ist für die meisten Datenbankdialekte gleich. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden. Im Folgenden werden einige der Einstellungen beschrieben:
- Name: Geben Sie den Namen der Verbindung an. Dies ist die Art und Weise, auf die in LookML-Projekten auf die Verbindung verwiesen wird.
- Dialekt: Geben Sie den Dialekt Databricks an.
- Host: Geben Sie die URL des Databricks-Arbeitsbereichs an. Beispiel:
dbc-yyyyyyyy.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:
- Geben Sie unter Datenbankkonto ein persönliches Databricks-Zugriffstoken an, 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
tokenein. 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.
- Geben Sie unter Nutzername den Wert
- Verwenden Sie OAuth, um OAuth für die Verbindung zu konfigurieren. Weitere Informationen finden Sie im Abschnitt OAuth für Databricks-Verbindungen konfigurieren.
- Geben Sie unter Datenbankkonto ein persönliches Databricks-Zugriffstoken an, das für die Verbindung mit Looker verwendet wird. Eine Anleitung dazu finden Sie im Abschnitt Looker-Nutzer erstellen.
- PDTs aktivieren: Mit dieser Option können Sie persistente abgeleitete Tabellen aktivieren. Wenn PDTs aktiviert sind, werden im Fenster Verbindung zusätzliche PDT-Einstellungen und der Abschnitt PDT-Überschreibungen angezeigt. Hinweis: PDTs werden für Databricks-Verbindungen, die OAuth verwenden, nicht unterstützt.
- Temporäre Datenbank: Geben Sie die Datenbank ein, die Sie zum Speichern von PDTs verwenden möchten.
- Max. Anzahl der Verbindungen für PDT-Generator: Geben Sie die Anzahl der möglichen gleichzeitigen PDT-Builds für diese Verbindung an. Wenn Sie diesen Wert zu hoch festlegen, 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 JDBC-Parameter hinzu. Eine Liste der von Looker unterstützten Parameter finden Sie auf dieser Seite im Abschnitt Unterstützte JDBC-Parameter.
Wartungszeitplan: Ein
cron-Ausdruck, der angibt, wann Looker Datengruppen und persistente abgeleitete Tabellen prüfen soll. Weitere Informationen zu dieser Einstellung finden Sie in der Dokumentation zum Wartungszeitplan.SSL: Klicken Sie hier, 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 diese Einstellung vorerst auf dem Standardwert belassen. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt Max. Verbindungen pro Knoten auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
Zeitlimit für Verbindungspool: Sie können diese Einstellung vorerst auf dem Standardwert belassen. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt Zeitüberschreitung für Verbindungspool auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
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 im Abschnitt SQL Runner Precache auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
Informationsschema für SQL-Schreibvorgänge abrufen: Wenn diese Einstellung aktiviert ist, verwendet Looker das Informationsschema Ihrer Datenbank, um SQL-Schreibvorgänge zu optimieren. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt Informationsschema für SQL-Schreibvorgänge abrufen auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
Zeitzone der Datenbank: Geben Sie die Zeitzone an, die in der Datenbank verwendet werden soll. Lassen Sie dieses Feld leer, wenn Sie keine Zeitzonenumrechnung wünschen. Weitere Informationen dazu finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.
Klicken Sie unten auf der Seite Verbindungseinstellungen im Bereich Statusdetails auf den Button Verbindung testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde.
Wenn Looker Can Connect anzeigt, klicken Sie auf Connect, um die Verbindung zu erstellen.
Ihre Datenbankverbindung wird dann der Liste auf der Looker-Seite Verbindungen Verwaltung hinzugefügt.
Looker-Funktionen mit Databricks Unity Catalog
Looker unterstützt Verbindungen zu Databricks-Datenbanken mit aktiviertem Unity Catalog. Sie können den Katalognamen im Feld Katalog des Looker-Fensters Verbindung 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 Katalog der Looker-Verbindung einen Databricks-Katalog angeben. Wenn Sie einen Databricks-Katalog angeben, verwendet Looker den Katalog in den folgenden Szenarien:
- Wenn Sie ein neues LookML-Projekt aus Ihrer Datenbank erstellen, erstellt Looker die Projektdateien basierend auf den Tabellen im konfigurierten Katalog Ihrer Verbindung.
- Wenn Sie in bestehenden Projekten die Looker-IDE verwenden, um eine Ansicht aus einer Tabelle zu erstellen, 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 Katalog hat, greifen die meisten Looker-Funktionen nur auf Schemas aus dem Standardkatalog zu, z. B. 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 in bestehenden Projekten die Looker-IDE verwenden, um eine Ansicht aus einer Tabelle zu erstellen, 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 Catalog-Standardkatalog auswählen.
OAuth für Databricks-Verbindungen konfigurieren
Looker unterstützt OAuth für Databricks-Verbindungen. Das bedeutet, dass sich jeder Looker-Nutzer bei der Datenbank authentifizieren und Looker dazu autorisieren kann, Abfragen in der Datenbank mit dem eigenen OAuth-Nutzerkonto auszuführen.
Über OAuth können Datenbankadministratoren folgende Aufgaben ausführen:
- Überwachen, welche Looker-Benutzer Abfragen mit der Datenbank ausführen
- Rollenbasierte Zugriffssteuerung mit Berechtigungen auf Datenbankebene erzwingen
- OAuth-Token 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 Nutzer sein OAuth-Token ablaufen lässt, sind alle Looker-Zeitpläne oder ‑Benachrichtigungen, die der Nutzer besitzt, davon betroffen. Um dies zu verhindern, sendet Looker eine E‑Mail-Benachrichtigung an den Inhaber jedes Zeitplans und jeder Benachrichtigung, 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 seine Looker-Nutzerseite aufrufen, um Looker noch einmal für die Datenbank zu autorisieren und so Unterbrechungen seiner Zeitpläne und Benachrichtigungen zu vermeiden. Weitere Informationen finden Sie auf der Dokumentationsseite Nutzerkontoeinstellungen personalisieren.
- Da Datenbankverbindungen, die OAuth verwenden, „pro Nutzer“ gelten, werden auch Caching-Richtlinien pro Nutzer und nicht nur pro Abfrage angewendet. Anstatt also jedes Mal Ergebnisse im Cache zu verwenden, wenn dieselbe Abfrage innerhalb des Caching-Zeitraums ausgeführt wird, verwendet Looker Ergebnisse im Cache nur, wenn derselbe Benutzer dieselbe 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 sich als anderer Benutzer im SUDO-Modus bewegt, verwendet er das OAuth-Zugriffstoken dieses Benutzers. Wenn das Zugriffstoken des Benutzers abgelaufen ist, kann der Administrator kein neues Token im Namen des Benutzers erstellen, den er impersonalisiert. Informationen zur Verwendung des Befehls
sudofinden Sie auf der Dokumentationsseite Nutzer. - Wenn ein Nutzer einen OAuth-Autorisierungsablauf für eine Databricks-Verbindung in Looker initiiert, wird in Looker das Dialogfeld OAuth-Verbindung autorisieren angezeigt. Darin wird der Nutzer darüber informiert, dass die Looker-Instanz durch die Autorisierung der Verbindung in seinem Namen auf Daten zugreifen kann und dass privilegierte Looker-Nutzer wie Administratoren oder Entwickler möglicherweise Einblick in seine Daten haben. Der Nutzer muss Autorisieren auswählen, bevor er sich in Databricks anmelden kann. Diese Einwilligungsinformationen werden im lokalen Speicher des Browsers des Nutzers gespeichert. Wenn der lokale Speicher gelöscht wird, wird das Dialogfeld wieder angezeigt. Nachdem der Nutzer Autorisieren ausgewählt hat, wird in Databricks kein zusätzlicher Dialog zur Einholung von Nutzereinwilligungen angezeigt.
- Wenn Sie OAuth für eine Databricks-Verbindung verwenden möchten, benötigen Sie Databricks-Nutzer oder Diensthauptkonten, die für Looker-Abfragen verwendet werden können. Außerdem müssen Sie den Nutzern und Diensthauptkonten die Databricks-Berechtigungen erteilen, die Looker für den Zugriff auf die Datenquellen und die Ausführung der erforderlichen Aktionen in Databricks benötigt.
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:
Benutzerdefinierte OAuth-Anwendung in Databricks aktivieren
Wenn Sie OAuth für eine Looker-Verbindung zu Databricks verwenden möchten, müssen Sie Looker als benutzerdefinierte OAuth-Anwendung für Ihre Databricks-Datenbank aktivieren. Gehen Sie dazu so vor:
- Melden Sie sich in der Databricks-Kontokonsole an.
- Klicken Sie in der Seitenleiste auf das Symbol Einstellungen.
- Klicken Sie im Fenster Einstellungen auf den Tab App-Verbindungen.
- Klicken Sie auf dem Tab App-Verbindungen auf Verbindung hinzufügen.
Geben Sie im Databricks-Dialogfeld Verbindung hinzufügen die folgenden Werte ein:
- Anwendungsname: Geben Sie einen aussagekräftigen Namen ein, z. B. „Looker-Integration“.
Redirect URLs (Weiterleitungs-URLs): Geben Sie die Looker-URL ein, zu der Databricks Nutzer nach erfolgreicher Autorisierung weiterleitet. Verwenden Sie dazu dieses Format (ersetzen Sie
example.looker.comdurch die URL Ihrer Looker-Instanz):https://example.looker.com/external_oauth/redirectZugriffsbereiche: Wählen Sie SQL aus, damit Looker Daten über SQL abfragen kann.
Clientschlüssel generieren: Aktivieren Sie diese Option.
Klicken Sie im Databricks-Dialogfeld Verbindung hinzufügen auf Hinzufügen.
Kopieren Sie die von Databricks generierte Client-ID und den Clientschlüssel und speichern Sie sie an einem sicheren Ort.
Die Registrierung einer OAuth-Anwendung kann in der Databricks-Datenbank 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.
- 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, wie im Abschnitt Looker-Verbindung zur Datenbank erstellen auf dieser Seite beschrieben.
- Wählen Sie im Feld Authentifizierung die Option OAuth aus.
- Wenn Sie die Option OAuth auswählen, zeigt Looker die Felder OAuth-Client-ID und OAuth-Clientschlüssel an. 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.
- Klicken Sie unten auf der Seite Verbindungseinstellungen auf den Button Testen, um zu prüfen, ob Looker den OAuth-Ablauf erfolgreich einrichten und eine Verbindung zu Ihrer Databricks-Instanz herstellen kann.
Unterstützte JDBC-Parameter
Für Databricks unterstützt Looker die folgenden JDBC-Parameter im Feld Zusätzliche JDBC-Parameter für die Verbindung. Informationen zu diesen Parametern finden Sie in der Dokumentation zu Ihrer Datenbank.
Auth_FlowAuthMechcatalogSchemaSwitchConnSchemahttpPathLogLevelOAuth2ClientIdOAuth2SecretPWDSocketTimeoutssltransportModeUIDUserAgentEntry
Funktionsunterstützung
Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.
Databricks unterstützt ab Looker 26.22 die folgenden Funktionen:
| Funktion | Unterstützt? |
|---|---|
| Looker (Google Cloud Core) | |
| Symmetrische Aggregate | |
| Abgeleitete Tabellen | |
| Persistente abgeleitete SQL-Tabellen | |
| Persistente, native abgeleitete Tabellen | |
| Stabile Ansichten | |
| Abfrageeabruch | |
| SQL-basierte Pivots | |
| Zeitzonen | |
| SSL | |
| Zwischensummen | |
| Zusätzliche JDBC-Parameter | |
| Groß-/Kleinschreibung beachten | |
| Standorttyp | |
| Listentyp | |
| Perzentil | |
| Perzentil der unterschiedlichen Werte | |
| SQL-Runner-Befehl – Prozesse anzeigen | |
| SQL-Runner-Funktion – Tabelle beschreiben | |
| SQL Runner-Befehl – Indexe anzeigen | |
| SQL-Runner – 10 auswählen | |
| SQL-Runner – Anzahl | |
| SQL – Erklären | |
| OAuth 2.0-Anmeldedaten | |
| Kontextkommentare | |
| Verbindungs-Pooling | |
| HLL-Skizzen | |
| Aggregate Awareness | |
| Inkrementelle PDTs | |
| Millisekunden | |
| Mikrosekunden | |
| Materialisierte Ansichten | |
| Vergleich zum vorherigen Zeitraum | |
| Ungefähre Anzahl einzelner Aufrufe | |
| In-Database-Analysemodelle | |
| Benutzerdefinierte Kalender |