HIVE: Basic Architecture and Components

A Tech Lead by profession, a Data Enthusiast and a forever learner. Experienced in DevOps, Cloud, FullStack Development, Data Science, Machine Learning and AI.
Search for a command to run...

A Tech Lead by profession, a Data Enthusiast and a forever learner. Experienced in DevOps, Cloud, FullStack Development, Data Science, Machine Learning and AI.
No comments yet. Be the first to comment.
Hashnode introduced 'headless' and while having a look at it, It really seemed interesting. It's nice to have a way to play with our publications and posts from Hashnode, outside of Hashnode without tedious data scraping. While reading another blog, ...

While trying to get Red Hat (RHEL9) installed in my WSL (Windows Subsystem for Linux) within my Windows 11 laptop, I stumbled upon the same hurdle I did for installing the older RHEL8. The list of available distros published by Microsoft still does n...

When it comes to collaborative software development, efficiency in communication and planning are critical. GitHub offers a feature called "Code owners" to improve project management and facilitate cooperation. Let's see how this can improve your dev...

PowerShell is a powerful tool, allowing to perform a myriad of tasks with just a few commands. However, there are times when elevated privileges are required to execute certain commands. This is as easy as right-clicking PowerShell and "Run As Admini...

While trying to setup RHEL with WSL 2, I stumbled upon this very helpful blog https://wsl.dev/mobyrhel8/ While doing the setup, I found this zsh theme very nice, and I have been using it since then. The above mentioned blog already has the steps, but...


The Hive Architecture comprises 3 main components:
Hive Client
This is where the applications get an interface to interact with hive.
Hive Services
Hive services enable the hive interactions by passing them through the hive driver which in turn uses MapReduce.
Compute and Storage
This is the workhorse of the Hive ecosystem which includes the Metastore DB and HDFS storage.
Hive Client
Hive client is the interface for different applications and clients which makes it possible for different applications to communicate with Hive.
Hive client comprises Thrift Client, JDBC Client and ODBC Client.
Thrift Client enables Thrift based applications to communicate with Hive. JDBC and ODBC enable several applications and languages to make connections and process with hive.
These clients in turn connect to the Hive Server to make this possible.
Hive Services
Client interactions are made possible by Hive services.
CLI service enables us to interact with Hive via command line.
Web based service makes it possible to have a web based interaction with Hive.
The Hive server service is one of the most important and most used service which most of the Client services connect to.
Hive Storage and Compute
Hive storage used MapReduce in the background which makes it possible for hive to process Big Data.
Hive stores meta information in the Hive Metastore which is the backbone of Hive.
By default, Hive uses Derby DB for storing metadata, but any other RDBMS can be used for this purpose.
However, the data resides on either Local storage or HDFS.