📜  蜂巢架构

📅  最后修改于: 2020-12-03 03:40:00             🧑  作者: Mango

蜂巢架构

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

蜂巢客户

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

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

蜂巢服务

以下是Hive提供的服务:

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