This page describes the different clients supported by Hive. The command line client currently only supports an embedded server. The JDBC and Thrift-Java clients support both embedded and standalone servers. Clients in other languages only support standalone servers.
This document describes the JDBC client for the original Hive Server (sometimes called Thrift server or HiveServer1). For information about the HiveServer2 JDBC client, see JDBC in the HiveServer2 Clients document. HiveServer2 use is recommended; the original HiveServer has several concurrency issues and lacks several features available in HiveServer2.
For embedded mode, uri is just "jdbc:hive://". For standalone server, uri is "jdbc:hive://host:port/dbname" where host and port are determined by where the Hive server is run. For example, "jdbc:hive://localhost:10000/default". Currently, the only dbname supported is "default".
JDBC Client Sample Code
Running the JDBC Sample Code
JDBC Client Setup for a Secure Cluster
To configure Hive on a secure cluster, add the directory containing hive-site.xml to the CLASSPATH of the JDBC client.
Operates only on a standalone server. Set (and export) PYTHONPATH to build/dist/lib/py.
The python modules imported in the code below are generated by building hive.
Please note that the generated python module names have changed in hive trunk.
Operates only on a standalone server.
Operates only on a standalone server. The Hive ODBC client provides a set of C-compatible library functions to interact with Hive Server in a pattern similar to those dictated by the ODBC specification. See Hive ODBC Driver.
Thrift Java Client
Operates both in embedded mode and on standalone server.
Thrift C++ Client
Operates only on a standalone server. In the works.
Thrift Node Clients
Thrift Ruby Client
A Thrift Ruby client is available on github at https://github.com/forward3d/rbhive.