Apache Hive

Diese Seite enthält Informationen zum Verbinden von Looker mit Apache Hive 2.3+ und Apache Hive 3.1.2+.

Beachten Sie Folgendes zur Looker-Unterstützung für die verschiedenen Versionen von Apache Hive:

  • Looker unterstützt Verbindungen zu Apache Hive 2.3+ und Apache Hive 3.1.2+.
  • Bei Apache Hive 3.1.2 und höher kann Looker nur in Versionen nach 3.1.2 vollständig in Apache Hive 3-Datenbanken integriert werden. Dies liegt an einem Problem beim Parsen der Abfrage in den Hive-Versionen 2.4.0 bis 3.1.2, das zu extrem langen Parsing-Zeiten für von Looker generiertes SQL geführt hat.
  • Looker unterstützt keine Verbindungen zu Apache Hive 2. Bei Abfragen von Verbindungen zu Apache Hive 2 wird ein Fehler zurückgegeben.

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.

Einleitung

Looker ist darauf ausgelegt, über JDBC eine Verbindung zu einem Datenbankserver herzustellen. Im Fall von Hive ist dies der Secondhand-Server (HiveServer2). Weitere Informationen finden Sie in der Apache-Dokumentation.

Standardmäßig überwacht dieser Server Port 10000.

Looker ist ein interaktives Abfrage-Tool, daher geht es davon aus, mit einer interaktiven SQL-Engine zu arbeiten. Wenn Hive auf MapReduce ausgeführt wird und hive.execution.engine auf mr gesetzt ist, gibt Hive Abfrageergebnisse zu langsam zurück, um praktisch zu sein.

Looker wurde mit Hive auf Tez (hive.execution.engine=tez) getestet. Es ist jedoch auch möglich, Looker mit Hive auf Spark auszuführen. Die Spark-Unterstützung wurde in Hive Version 1.1 hinzugefügt. (Looker unterstützt Hive 1.2.1 und höher.)

Persistente abgeleitete Tabellen (PDTs)

Wenn Sie persistente abgeleitete Tabellen (PDTs) in Looker über eine Hive-Verbindung aktivieren möchten, erstellen Sie ein Scratch-Schema, das Looker verwenden kann. Das folgende Beispiel zeigt einen Befehl, mit dem Sie ein looker_scratch-Schema erstellen können:

 CREATE SCHEMA looker_scratch;

Das Benutzerkonto, das Looker zur Verbindung mit Hive verwendet (das anonym sein kann, wenn keine Authentifizierung verwendet wird) muss im Scratch-Schema über die folgenden Funktionen verfügen:

  • Tabellen erstellen
  • Tabellen ändern
  • Tabellen verwerfen

Testen Sie dies mit einem JDBC-Client, bevor Sie versuchen, PDTs mit Hive zu erstellen.

Warteschlangen

Wenn Abfragen von Looker in eine bestimmte Warteschlange gestellt werden sollen, geben Sie den Parameter für den Warteschlangennamen auf der Seite Verbindungseinstellungen im Feld Zusätzliche JDBC-Parameter ein:

?tez.queue.name=the_bi_queue

Andere Hive-Parameter können auf diese Weise auf der Seite Verbindungseinstellungen im Feld Zusätzliche JDBC-Parameter festgelegt werden.

Mithilfe von Nutzerattributen können Abfragen von verschiedenen Nutzern oder unterschiedlichen Nutzergruppen in unterschiedliche Warteschlangen gestellt werden. Erstellen Sie dazu ein Nutzerattribut mit einem Namen wie queue_name. Fügen Sie dann im Feld Zusätzliche JDBC-Parameter Folgendes hinzu:

?tez.queue.name={{ _user_attributes['queue_name'] }}

Damit lassen sich auch andere hive-site.xml-Parameter pro Nutzer oder Gruppe anpassen.

Looker-Verbindung zu Ihrer Datenbank erstellen

Führen Sie die folgenden Schritte aus, um die Verbindung von Looker zu Ihrer Datenbank herzustellen:

  1. Wählen Sie in Looker im Bereich Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
  2. Wählen Sie im Drop-down-Menü Dialekt die Option Apache Hive 2.3 oder höher oder Apache Hive 3.1.2 oder höher aus.

  3. 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.
    • Host: Geben Sie den Hostnamen an.
    • Port: Geben Sie den Datenbankport an.
    • Datenbank: Geben Sie den Datenbanknamen an.
    • Nutzername: Geben Sie den Nutzernamen der Datenbank an.
    • Password (Passwort): Geben Sie das Passwort des Datenbanknutzers an.
    • 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.
    • Temporäre Datenbank: Geben Sie den Namen des Scratch-Schemas an, das im Abschnitt Persistente abgeleitete Tabellen (PDTs) auf dieser Dokumentationsseite erstellt wurde.
    • 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: Geben Sie zusätzliche JDBC-Stringparameter an.
    • Wartungszeitplan für Datengruppe und PDT: Geben Sie einen cron-Ausdruck an, der angibt, wann Looker Datengruppen und persistente abgeleitete Tabellen überprüfen soll. Dokumentation zum Wartungszeitplan für Datengruppe und PDT.
    • SSL: Aktivieren Sie diese Option, um SSL-Verbindungen zu verwenden.
    • SSL bestätigen: Überprüfen Sie den Hostnamen.
    • Maximale Anzahl von Verbindungen pro Knoten: Für diese Einstellung kann anfänglich die Standardeinstellung beibehalten werden. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
    • Zeitlimit für Verbindungspool: Für diese Einstellung kann anfänglich der Standardwert beibehalten werden. 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 diese Option, damit SQL Runner Tabelleninformationen nicht vorab lädt, sondern nur, wenn eine Tabelle ausgewählt ist. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden im Abschnitt SQL Runner Precache.
    • Datenbankzeitzone: Geben Sie die in der Datenbank verwendete Zeitzone an. Lassen Sie dieses Feld leer, wenn Sie die Zeitzonenumrechnung nicht wünschen. Weitere Informationen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.
  4. Klicken Sie auf Testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankverbindung testen.

  5. Klicken Sie auf Verbinden, um diese Einstellungen zu speichern.

Funktionsunterstützung

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

Apache Hive 2.3 und höher

Apache Hive 2.3+ unterstützt ab Looker 24.12 die folgenden Funktionen:

Feature Unterstützt?
Supportstufe
Integration
Looker (Google Cloud Core)
Nein
Symmetrische Summen
Nein
Abgeleitete Tabellen
Ja
Persistente SQL-Abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Ansichten
Ja
Anfrage abbrechen
Ja
SQL-basierte Drehpunkte
Nein
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
Ja
SQL Runner – Select 10
Ja
Anzahl der SQL-Runner
Ja
SQL Explain
Ja
OAuth-Anmeldedaten
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Nein
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansichten
Nein
Ungefähre Anzahl einzelner
Nein

Apache Hive 3.1.2 und höher

Apache Hive 3.1.2+ unterstützt ab Looker 24.12 die folgenden Funktionen:

Feature Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Ja
Symmetrische Summen
Nein
Abgeleitete Tabellen
Ja
Persistente SQL-Abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Ansichten
Ja
Anfrage abbrechen
Ja
SQL-basierte Drehpunkte
Nein
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
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Nein
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansichten
Nein
Ungefähre Anzahl einzelner
Nein

Nächste Schritte

Nachdem Sie die Datenbank mit Looker verbunden haben, konfigurieren Sie die Anmeldeoptionen für Ihre Nutzer.