You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Hive Web Interface


What is the Hive Web Interface

The Hive web interface is a an alternative to using the Hive command line interface. Using the web interface is a great way to get started with hive.

Features

Schema Browsing

An alternative to running 'show tables' or 'show extended tables' from the CLI is to use the web based schema browser. The Hive Meta Data is presented in a hierarchical manner allowing you to start at the database level and click to get information about tables including the SerDe, column names, and column types.

Detached query execution

A power user issuing multiple hive queries simultaneously would have multiple CLI windows open. The hive web interface manages the session on the web server, not from inside the CLI window. This allows a user to start multiple queries and return to the web interface later to check the status.

No local installation

Any user with a web browser can work with Hive. This has the usual web interface benefits, In particular a user wishing to interact with hadoop or hive requires access to many ports. A remote or VPN user would only require access to the hive web interface running by default on 0.0.0.0 tcp/9999.

Configuration

Hive Web Interface made its first appearance in the 0.2 branch. If you have 0.2 or the SVN trunk you already have it.

You should not need to edit the defaults for the Hive web interface. HWI uses:

<property>
  <name>hive.hwi.listen.host</name>
  <value>0.0.0.0</value>
  <description>This is the host address the Hive Web Interface will listen on</description>
</property>

<property>
  <name>hive.hwi.listen.port</name>
  <value>9999</value>
  <description>This is the port the Hive Web Interface will listen on</description>
</property>

<property>
  <name>hive.hwi.war.file</name>
  <value>${HIVE_HOME}/lib/hive_hwi.war</value>
  <description>This is the WAR file with the jsp content for Hive Web Interface</description>
</property>

You probably want to setup HiveDerbyServerMode to allow multiple sessions at the same time.

Start up

When initializing Hive with no arguments that CLI is invoked. Hive has an extension architecture used to start other hive demons.
Jetty requires apache ant to start HWI. You should define ANT_LIB as an environment variable or add that to the hive invocation.

export ANT_LIB=/opt/ant/lib
bin/hive --service hwi

Java has no direct way of demonizing. In a production environment you should create a wrapper script.

nohup bin/hive --service hwi > /dev/null 2> /dev/null &

If you want help on the service invocation or list of parameters you can add

bin/hive --service hwi --help

Authentication

Hadoop currently uses environmental properties to determine user name and group vector. Thus Hive and Hive Web Interface can not enforce more stringent security then Hadoop can. When you first connect to the Hive Web Interface the user is prompted for a user name and groups. This feature was added to support installations using different schedulers.

If you want to tighten up security you are going to need to patch the source Hive Session Manager or you may be able to tweak the JSP to accomplish this.

Accessing

In order to access the Hive Web Interface, go to <Hive Server Address>:9999/hwi on your web browser.

Tips and tricks

Result file

The result file is local to the web server. A query that produces massive output should set the result file to /dev/null.

Debug Mode

The debug mode is used when the user is interested in having the result file not only contain the result of the hive query but the other messages.

Set Processor

In the CLI a command like 'SET x=5' is not processed by the the Query Processor it is processed by
the Set Processor. Use the form 'x=5' not 'set x=5'

Walk through

Authorize


Schema Browser


Diagnostics

Running a query




  • No labels