Apache Hive

Diese Seite enthält Informationen zum Verbinden von Looker mit Apache Hive.

Einführung

Looker ist so konzipiert, dass eine Verbindung zu einem Datenbankserver über JDBC hergestellt wird. Im Fall von Hive ist dies der Thrift-Server (HiveServer2). Weitere Informationen finden Sie in der Apache-Dokumentation.

Standardmäßig überwacht dieser Server Port 10000.

Looker ist ein interaktives Abfragetool, das davon ausgeht, dass es mit einer interaktiven SQL-Engine kompatibel ist. Wenn Hive auf Firestore ausgeführt wird – hive.execution.engine ist auf mr gesetzt – gibt Hive Abfrageergebnisse zu langsam zurück, um den Vorgang zu erleichtern.

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

Persistente abgeleitete Tabellen (PDTs)

Erstellen Sie ein Scratch-Schema, das für Looker verwendet werden soll, um in Looker persistente abgeleitete Tabellen (PDTs) über eine Hive-Verbindung zu aktivieren. Hier ist ein Beispiel für einen Befehl, mit dem Sie ein looker_scratch-Schema erstellen können:

 CREATE SCHEMA looker_scratch;

Das Nutzerkonto, mit dem Looker eine Verbindung zu Hive herstellt (das anonym sein kann, wenn keine Authentifizierung verwendet wird), muss die folgenden Funktionen im Scratch-Schema 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 Abfragen von Looker in eine bestimmte Warteschlange gehen sollen, geben Sie auf der Seite Verbindungseinstellungen den Parameter für den Warteschlangennamen in das Feld Zusätzliche Parameter ein:

?tez.queue.name=the_bi_queue

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

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

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

Damit können Sie auch andere hive-site.xml-Parameter für einzelne Nutzer oder Gruppen anpassen.

Die Verbindung hinzufügen

Wählen Sie im Abschnitt Admin von Looker die Option Verbindungen aus und klicken Sie auf Verbindung hinzufügen.

Geben Sie die Verbindungsdetails ein (weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden):

  • Name: Geben Sie den Namen der Verbindung an. So verweisen Sie in LookML-Projekten auf die Verbindung.
  • Dialekt: Geben Sie den Dialekt an: Apache Hive 2, Apache Hive 2.3+ oder Apache Hive 3.1.2+.

    Bei Apache Hive 3.1.2 und höher kann Looker nur mit Apache Hive 3-Datenbanken nur in Versionen ab 3.1.2 vollständig eingebunden werden. Der Grund hierfür ist das Problem beim Parsen der Abfrage aus den Hive-Versionen 2.4.0 bis 3.1.2, das zu extrem langen Parsing-Zeiten für von Looker generiertem SQL führte.

  • 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.

  • Passwort: Geben Sie das Passwort für den Datenbanknutzer an.

  • Persistent abgeleitete Tabellen: Klicken Sie dieses Kästchen an, um persistente abgeleitete Tabellen zu aktivieren. Mit dieser Einstellung werden das Feld Temp Database und die Spalten PDT-Überschreibungen preisgegeben.

  • Temp Database: Geben Sie den Namen des Scratch-Schemas an, das oben im Abschnitt PDTs erstellt wurde.

  • Max. PDT-Builder-Verbindungen: Geben Sie die Anzahl der möglichen gleichzeitigen PDT-Builds für diese Verbindung an. Ein zu hoher Wert kann sich negativ auf die Abfragezeiten auswirken. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.

  • Zusätzliche Parameter: Geben Sie zusätzliche Parameter für den JDBC-String an.

  • PDT- und Datagroup-Wartungsplan: 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 PDT und Datagroup-Wartungsplan.

  • SSL: Klicken Sie dieses Kästchen an, um SSL-Verbindungen zu verwenden.

  • SSL-Zertifikat prüfen: Prüfen Sie die Hostnamen-Prüfung.

  • Max. Verbindungen: Diese Einstellung kann anfangs den Standardwert beibehalten. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Verbindung mit Looker mit Datenbank herstellen im Abschnitt Max. Verbindungen.

  • Zeitüberschreitung bei Verbindungspool: Diese Einstellung kann anfangs den Standardwert übernehmen. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Verbindung zu Looker mit Datenbank herstellen im Abschnitt Zeitlimit des Verbindungspools.

  • SQL-Ausführer-Precache: Wenn der SQL Runner keine Tabelleninformationen vorab laden und Tabelleninformationen nur dann laden soll, wenn eine Tabelle ausgewählt ist, deaktivieren Sie diese Option. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Verbindung zwischen Looker und Datenbank herstellen im Abschnitt SQL-Runner-Precache.

  • Zeitzone der Datenbank: Geben Sie die Zeitzone an, die in der Datenbank verwendet wird. Lassen Sie dieses Feld leer, wenn keine Währungsumrechnung erfolgen soll. Weitere Informationen finden Sie auf der Dokumentationsseite Einstellungen für die Zeitzone verwenden.

Unterstützte Funktionen

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

In der neuesten Version von Looker unterstützt Apache Hive 2 die folgenden Looker-Features:

In der neuesten Version von Looker unterstützt Apache Hive 2.3+ die folgenden Looker-Features:

In der neuesten Version von Looker unterstützt Apache Hive 3.1.2+ die folgenden Looker-Features:

Nächste Schritte

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