个性化阅读
专注于IT技术分析

Hive架构

本文概述

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

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形式生成逻辑计划。最后, 执行引擎按照传入任务的依赖关系顺序执行传入任务。
赞(0)
未经允许不得转载:srcmini » Hive架构

评论 抢沙发

评论前必须登录!