Hive 架构

Hive 架构

以下架构解释了将查询提交到Hive的流程。

Hive 架构

Hive客户端

Hive允许使用多种语言(包括Java、Python和C++)编写应用程序。它支持不同类型的客户端,如:

  • Thrift服务器 – 它是一个跨语言的服务提供平台,可以为支持Thrift的所有编程语言提供请求服务。
  • JDBC驱动程序 – 它用于在Hive和Java应用程序之间建立连接。JDBC驱动程序位于org.apache.hadoop.hive.jdbc.HiveDriver类中。
  • ODBC驱动程序 – 它允许支持ODBC协议的应用程序连接到Hive。

Hive服务

Hive提供以下服务:

  • Hive CLI – Hive CLI(命令行界面)是一个shell,我们可以在其中执行Hive查询和命令。
  • Hive Web用户界面 – Hive Web用户界面只是Hive CLI的一个替代品。它提供了一个基于Web的图形界面,用于执行Hive查询和命令。
  • Hive MetaStore – 它是一个中央存储库,用于存储仓库中各种表和分区的所有结构信息。它还包括列和类型信息的元数据,用于读写数据的序列化和反序列化程序,以及存储数据的相应HDFS文件。
  • Hive服务器 – 它被称为Apache Thrift服务器。它接受来自不同客户端的请求并将其传递给Hive驱动程序。
  • Hive驱动程序 – 它从Web UI、CLI、Thrift和JDBC/ODBC驱动程序等不同来源接收查询。它将查询传递给编译器。
  • Hive编译器 – 编译器的目的是解析查询并对不同的查询块和表达式执行语义分析。它将HiveQL语句转换为MapReduce作业。
  • Hive执行引擎 – 优化器生成以MapReduce任务和HDFS任务形式的逻辑计划。最后,执行引擎按照任务之间的依赖顺序执行传入的任务。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程