/ / Wo finde ich Standardausgabe oder Standardfehler von Java UDF in Hive - hive, cloudera-cdh

Wo finde ich Standardausgabe oder Standardfehler von Java UDF in Hive - hive, cloudera-cdh

Ich schreibe eine Java UDF in Hive und zum DebuggenIch drucke einige Nachrichten über das LogFactory.getLog-Objekt in die Standardausgabe. Aber ich frage mich, wo ich die Nachrichten sehen kann. Ich benutze CDH 5.4 und Hive 0.12

Antworten:

0 für die Antwort № 1

Standardmäßig speichert Hive seine Logins/ tmp / aktueller Benutzerstandort. Wenn die Hive-Shell mit dem Hive-Befehl an der Unix / Linux-Eingabeaufforderung aufgerufen wird, zeigt Hive den Speicherort des Protokolls mit der Zeile Hive-History-Datei = Speicherort des Protokolls an, bevor die Hive-Eingabeaufforderung angezeigt wird. Beispielausgabe ist unten gezeigt:

[root@localhost root]# hive

Logging initialized using configuration in jar:file:/usr/lib/hive/lib/hive-common-0.10.0-cdh4.4.0.jar!/hive-log4j.properties

Hive history file=/tmp/root/hive_job_log_46a27ee2-7ac1-43f5-a66b-20d6ea982421_849420221.txt

Wenn Sie eine Abfrage über die Hive-CLI ausführen, werden Protokolle für jede Abfrage gespeichert (BeeLine- und JDBC-Clients erstellen diese nicht). Sie können diese Abfrageprotokolldateien wie folgt verwalten:

Legen Sie den Speicherort der Abfrageprotokolldateien fest (nachdefault / tmp / user) und verringern Sie die Protokollierung, indem Sie die progressbasierte Abfrageprotokollierung deaktivieren, indem Sie die folgenden Eigenschaften im Sicherheitskonfigurations-Sicherheitsventil für hive-site.xml und Hive-Clientkonfiguration für hive-site.xml angeben:

 <property>
<name>hive.querylog.location</name>
<value>/Changed/Log/Directory</value>
</property>
<property>
<name>hive.querylog.enable.plan.progress</name>
<value>false</value>
</property>
  • Speichern Sie die Änderungen in den Konfigurationen.

  • Starten Sie den Hive-Dienst neu und stellen Sie die Clientkonfigurationen erneut bereit.