Hadoop Online Tutorials

Hive Architecture

Hive Architecture:

Below is the hive level architecture of Hive:


In Hive distribution, we can find the below components majorly.

Hive clients:

Below are the three main clients that can interact with Hive Architecture.

Thrift Client:   Hive Thrift Client can run Hive commands from a wide range of programming languages. Thrift bindings for Hive are available for Java, Python, and Ruby.

JDBC Driver:  Hive provides a JDBC driver, defined in the class
org.apache.hadoop.hive.jdbc.HiveDriver. When configured with a JDBC URI of
the form jdbc:hive://host:port/dbname , a Java application will connect to a Hive
server running in a separate process at the given host and port.

We may alternatively choose to connect to Hive through JDBC in embedded mode using the URI jdbc:hive://. In this mode, Hive runs in the same JVM as the application
invoking it, so there is no need to launch it as a standalone server since it does not
use the Thrift service or the Hive Thrift Client.

ODBC Driver:   Hive ODBC Driver allows applications that support the ODBC protocol to connect to Hive. Like the JDBC driver, the ODBC driver uses Thrift to communicate with the Hive server.