Netzwerkverkehr verschlüsseln
Es wird empfohlen, den Netzwerkverkehr zwischen der Looker-Anwendung und Ihrer 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 mit persönlichen Zugriffstokens. Folgen Sie der Databricks-Dokumentation, um ein persönliches Zugriffstoken für einen Databricks-Nutzer zu erstellen, das 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
In der Databricks-Dokumentation finden Sie den HTTP-Pfad für Ihren Databricks-Cluster. Auf dieser Seite 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>
Außerdem müssen 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 aus und klicken Sie dann auf Verbindung hinzufügen.
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 wird in LookML-Projekten auf die Verbindung verwiesen.
- 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, für die Unity Catalog aktiviert ist, 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 Zugriffstoken für Databricks an, das für die Verbindung zu 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.
- 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 Zugriffstoken für Databricks an, das für die Verbindung zu Looker verwendet wird. Eine Anleitung dazu finden Sie im Abschnitt Looker-Nutzer erstellen.
- PDTs aktivieren: Mit dieser Ein/Aus-Schaltfläche können Sie persistente abgeleitete Tabellen aktivieren. Wenn PDTs aktiviert sind, werden im Fenster Verbindung zusätzliche PDT-Einstellungen und der Bereich 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 PAT-Builder-Verbindungen: 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 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-Zertifikatsüberprüfung zu erzwingen.
Maximale Verbindungen pro Knoten: Sie können diese Einstellung zunächst auf dem Standardwert belassen. Weitere Informationen zu dieser Einstellung finden Sie auf der Seite Looker mit Ihrer Datenbank verbinden im Abschnitt Maximale Verbindungen pro Knoten.
Zeitlimit für Verbindungspool: Sie können diese Einstellung zunächst auf dem Standardwert belassen. Weitere Informationen zu dieser Einstellung finden Sie auf der Seite Looker mit Ihrer Datenbank verbinden im Abschnitt Zeitüberschreitung für Verbindungspool.
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 keine Zeitzonenkonvertierung erfolgen soll. Weitere Informationen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.
Klicken Sie auf Testen, um die Verbindung zu testen und sicherzustellen, dass sie richtig konfiguriert ist. Wenn Verbinden möglich angezeigt wird, drücken Sie auf 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 Datenbankkonnektivität testen.
Looker-Funktionen mit Databricks Unity Catalog
Looker unterstützt Verbindungen zu Databricks-Datenbanken, für die Unity Catalog aktiviert ist. Sie können den Katalognamen im Feld Katalog des Fensters 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 Katalog 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 bestehenden Projekten die Looker-IDE verwenden, um eine Ansicht aus einer Tabelle zu erstellen, erstellt Looker nur Ansichtsdateien 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 den Unity-Katalog 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 Standardkatalog „Unity Catalog“.
- Wenn Sie in vorhandenen Projekten die Looker-IDE verwenden, um eine Ansicht aus einer Tabelle zu erstellen, kann Looker nur Ansichtsdateien aus den Tabellen im Standardkatalog des Unity Catalogs erstellen.
- Wenn Sie SQL Runner verwenden, können Sie nur Schemas aus dem Standardkatalog des Unity-Katalogs 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 folgende Aufgaben ausführen:
- Überwachen, welche Looker-Nutzer 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 wieder anmelden, wenn ihre OAuth-Tokens ablaufen.
Beachten Sie Folgendes für OAuth-Verbindungen auf Datenbankebene:
- Wenn ein Nutzer sein OAuth-Token verfallen lässt, sind alle Looker-Zeitpläne oder -Benachrichtigungen, deren Inhaber er ist, 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 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 Nutzer dieselbe Abfrage innerhalb des Caching-Zeitraums ausgeführt hat. Weitere Informationen zum Caching finden Sie auf der Seite 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 Nutzer im SUDO-Modus bewegt, verwendet er das OAuth-Zugriffstoken dieses Nutzers. Wenn das Zugriffstoken des Nutzers abgelaufen ist, kann der Administrator kein neues Token im Namen des Nutzers erstellen, den er impersonalisiert. Informationen zur Verwendung des Befehls
sudo
finden Sie auf der Dokumentationsseite Nutzer. - Wenn sich ein Nutzer über Looker mit OAuth in Databricks anmeldet, wird in Looker kein explizites Dialogfeld zur Einwilligung des Nutzers angezeigt. 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 Dienstprinzipale, die für Looker-Abfragen verwendet werden können. Außerdem müssen Sie den Nutzern und Dienstprinzipalen die Databricks-Berechtigungen zuweisen, 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:
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:
- Name der Anwendung: Geben Sie einen aussagekräftigen Namen wie „Looker-Integration“ ein.
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.
Klicken Sie im Databricks-Dialogfeld Verbindung hinzufügen auf Hinzufügen.
Kopieren Sie die von Databricks generierte Client-ID und das Client-Secret und speichern Sie sie an einem sicheren Ort.
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 mit OAuth konfigurieren.
- Wählen Sie in Looker im Bereich Verwaltung die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
- Geben Sie die Verbindungsdetails ein, wie im Abschnitt Looker-Verbindung zu Ihrer Datenbank erstellen auf dieser Seite beschrieben.
- Wählen Sie im Feld Authentifizierung die Option OAuth aus.
- Wenn Sie die Option OAuth auswählen, werden in Looker die Felder OAuth-Client-ID und OAuth-Client-Secret angezeigt. Geben Sie für diese Werte die Client-ID und das Client-Secret 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 die Schaltfläche Testen, um sicherzustellen, dass Looker den OAuth-Flow erfolgreich herstellen 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 25.0 die folgenden Funktionen:
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 |
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 Describe Table | 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 Aufrufe | Nein |