current position:Home>An article to understand hive's system architecture

An article to understand hive's system architecture

2022-01-27 05:03:02 Shockang

This is my participation 8 The fourth of the yuegengwen challenge 8 God , Check out the activity details :8 Yuegengwen challenge


Hive The bottom layer encapsulates Hadoop Data warehouse processing tools based on , It runs in Hadoop On the basis of , Its system architecture mainly includes 4 Parts of , They are user interfaces 、 Cross language services 、 The underlying driver engine and metadata storage system .

The following for Hive Explain the components of the system architecture .

 Insert picture description here

1. The user interface

It is mainly divided into 3 individual , Namely CLI 、 JDBC / ODBC and WebUI .

among , CLI namely Shell Terminal command line , It's the most common way .

JDBC / ODBC yes Hive Of Java Realization , And using traditional databases JDBC In a similar way , WebUI It refers to accessing... Through the explorer Hive .

2. Cross language services ( Thrift Server )

Thrift yes Facebook A software framework for development , It can be used for extensible and cross language services .

Hive Integrated the service , Can make different programming languages call Hive The interface of .

3. The underlying drive engine (Driver)

It mainly includes parser ( SQL Parser ), compiler ( Compiler ), Optimizer ( Optimizer ) And actuators ( Executor )

They are used to complete HQL Lexical analysis of query statements 、 Syntax analysis 、 compile 、 Optimization and generation of query plan , The generated query plan is stored in HDFS in , And then by MapReduce Calls to perform .

Hive The underlying computing engine can be selected as :MapReduce,Spark,Tez

4. Metadata storage system ( Metastore )

Hive Metadata in usually contains table names 、 Column 、 Partition and its related properties , Location information of the directory where the table data is located , Metastore By default, it has its own Derby In the database .

because Derby Database is not suitable for multi-user operation , And the data storage directory is not fixed , Inconvenient management , therefore , Metadata is usually stored in MySQL database .

copyright notice
author[Shockang],Please bring the original link to reprint, thank you.

Random recommended