Apache Hive

Auf dieser Seite erfahren Sie, wie Sie Looker mit Apache Hive 2.3+ und Apache Hive 3.1.2+ verbinden.

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+:
    • Für Apache Hive 2.3+ bietet Looker Unterstützung auf Integrationsebene.
    • Für Apache Hive 3.1.2+ kann Looker nur mit Apache Hive 3-Datenbanken in Versionen nach 3.1.2 vollständig integriert werden. Das liegt an einem Problem beim Parsen von Abfragen in Hive-Versionen 2.4.0 bis 3.1.2, das zu extrem langen Parsing-Zeiten für von Looker generiertes SQL führte.
  • Looker unterstützt keine Verbindungen zu Apache Hive 2. Abfragen für Verbindungen zu Apache Hive 2 geben einen Fehler zurück.

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.

Einführung

Looker ist so konzipiert, dass es über JDBC eine Verbindung zu einem Datenbankserver herstellt. Bei Hive ist das der Thrift-Server (HiveServer2). Weitere Informationen finden Sie in der Apache-Dokumentation.

Standardmäßig wartet dieser Server auf Port 10000.

Looker ist ein interaktives Abfragetool, das mit einer interaktiven SQL-Engine verwendet werden soll. Wenn Hive unter MapReduce ausgeführt wird (hive.execution.engine ist auf mr gesetzt), gibt Hive Abfrageergebnisse zu langsam zurück, um praktisch zu sein.

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

Persistente abgeleitete Tabellen

Wenn Sie persistente abgeleitete Tabellen (PDTs) in Looker mit einer Hive-Verbindung aktivieren möchten, erstellen Sie ein Scratch-Schema für Looker. Im Folgenden finden Sie ein Beispiel für einen Befehl, mit dem Sie ein looker_scratch-Schema erstellen können:

 CREATE SCHEMA looker_scratch;

Das Nutzerkonto, das Looker zum Herstellen einer Verbindung zu Hive verwendet (das anonym sein kann, wenn keine Authentifizierung verwendet wird), muss im Scratch-Schema die folgenden Möglichkeiten haben:

  • Tabellen erstellen
  • Tabellen ändern
  • Tabellen löschen

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

Warteschlangen

Wenn Sie möchten, dass Abfragen aus Looker in eine bestimmte Warteschlange gestellt werden, geben Sie den Parameter für den Warteschlangennamen auf der Seite Verbindungseinstellungen in das 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 verschiedenen Nutzergruppen in unterschiedliche Warteschlangen gestellt werden. Erstellen Sie dazu ein Nutzerattribut mit einem Namen wie queue_name und fügen Sie dann im Feld Zusätzliche JDBC-Parameter Folgendes hinzu:

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

Auf diese Weise können Sie auch andere hive-site.xml-Parameter pro Nutzer oder pro Gruppe anpassen.

Looker-Verbindung zu Ihrer Datenbank erstellen

So verbinden Sie Looker mit Ihrer Datenbank

  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 Apache Hive 3.1.2+ aus.

  3. 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. 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 Datenbanknutzernamen an.
    • Passwort: Geben Sie das Passwort des Datenbanknutzers an.
    • 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.
    • Temporäre Datenbank: Geben Sie den Namen des Scratch-Schemas an, das im Abschnitt Persistente abgeleitete Tabellen auf dieser Dokumentationsseite erstellt wurde.
    • Maximale 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 unterstützten Parameter finden Sie im Abschnitt Unterstützte JDBC-Parameter auf dieser Seite.
    • Wartungszeitplan: Geben Sie einen cron-Ausdruck an, 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: Aktivieren Sie diese Option, um SSL-Verbindungen zu verwenden.
    • SSL überprüfen: Aktivieren Sie diese Option, um den Hostnamen zu überprüfen.
    • Maximale Anzahl der Verbindungen pro Knoten: Diese Einstellung kann zunächst auf dem Standardwert belassen werden. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
    • Zeitlimit für Verbindungspool: Diese Einstellung kann zunächst auf dem Standardwert belassen werden. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt Zeitlimit für Verbindungspool auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
    • SQL Runner Precache: Deaktivieren Sie diese Option, 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.
    • Datenbankzeitzone: Geben Sie die in der Datenbank verwendete Zeitzone an. Lassen Sie dieses Feld leer, wenn Sie keine Zeitzonenkonvertierung wünschen. Weitere Informationen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.
  4. Klicken Sie auf Test , um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankverbindung für vom Kunden gehostete Instanzen testen.

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

Unterstützte JDBC-Parameter

Für Apache Hive unterstützt Looker die folgenden JDBC-Parameter im Zusätzliche JDBC-Parameter Feld für die Verbindung. Informationen zu diesen Parametern finden Sie in der Dokumentation zu Ihrer Datenbank.

  • fetchSize
  • httpPath
  • keyStorePassword
  • password
  • principal
  • serviceDiscoveryMode
  • ssl
  • tez.queue.name
  • transportMode
  • twoWay
  • user
  • zooKeeperNamespace

Funktionsunterstützung

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

Apache Hive 2.3+

Apache Hive 2.3+ unterstützt ab Looker 26.6 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 Pivottabellen
Zeitzonen
SSL
Zwischensummen
Zusätzliche JDBC-Parameter
Groß- und Kleinschreibung
Standorttyp
Listentyp
Perzentil
Perzentil der unterschiedlichen Werte
SQL Runner-Befehl – Prozesse anzeigen
SQL-Runner-Funktion – Tabelle beschreiben
SQL Runner-Befehl – Indexe anzeigen
SQL Runner-Befehl – 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
Benutzerdefinierte Kalender

Apache Hive 3.1.2+

Apache Hive 3.1.2+ unterstützt ab Looker 26.6 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 Pivottabellen
Zeitzonen
SSL
Zwischensummen
Zusätzliche JDBC-Parameter
Groß- und Kleinschreibung
Standorttyp
Listentyp
Perzentil
Perzentil der unterschiedlichen Werte
SQL Runner-Befehl – Prozesse anzeigen
SQL-Runner-Funktion – Tabelle beschreiben
SQL Runner-Befehl – Indexe anzeigen
SQL Runner-Befehl – 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
Benutzerdefinierte Kalender

Nächste Schritte

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