Page 56 - Building Big Data Applications
P. 56
50 Building Big Data Applications
FIGURE 2.15 Hive architecture.
Hive architecture
Hive system architecture is seen in Fig. 2.12. The main architecture components that
form the building blocks are as follows:
MetastoredStores the system catalog and metadata about tables, columns, and
partitions
DriverdMaintains session details, process handles, statistics, and manages the life-
cycle of a HiveQL statement as it moves through Hive.
Query CompilerdCompiles HiveQL into map/reduce tasks (follows a DAG model)
Execution EnginedProcesses and executes the tasks produced by the compiler in
a dependency order. The execution engine manages all the interactions between
the compiler and Hadoop
Thrift ServerdProvides a thrift interface, a JDBC/ODBC server, and a rich API to
integrate Hive with other applications.
CLI and Web UIdAre two client interfaces. Command line interface allows com-
mand line execution and the web user interface is a management console.
InterfacesdExtensibility interfaces include the SerDe (implemented as Lazy SerDe
in Hive) and ObjectInspector, UDF(user-defined function) and UDAF(user-defined
aggregate function) interfaces that enable users to define their own custom
functions.