You need to enable JavaScript to run this app.
导航

概述

最近更新时间2023.07.12 10:25:15

首次发布时间2021.09.01 17:27:34


Hive 是一款基于 Hadoop 的数据仓库架构,可以通过 HiveQL(类 SQL 语言)对分布式存储中的大型数据集进行提取、转化和加载(ETL)操作,以及元数据管理。
关于Hive的的更多的介绍,可以参考Apache Hive官网

1 Hive 组件说明

基本组件介绍如下:

名称说明
Hive ClientHive Client 是 Hive 客户端,提供 Beeline、JDBC 应用所需的驱动包,通过该客户端可以向 HiveServer2 提交SQL作业。

Hive MetaStore

Hive MetaStore 是 Hive 元数据管理模块,该模块将 database、table、column 等元数据信息存储到数据库中。
该模块也被Spark引擎所依赖。同时提供 Thrift 接口,供 MetaStroe 客户端直接操作元数据信息。高可用环境下,可支持部署多个MetaStore。

HiveServer2HiveServer2 HiveQL 查询服务器,接收来自 JDBC 客户端提交的 SQL 请求,对 SQL 语句进行编译、解析成对应的 MapReduce 任务或者 HDFS 操作,从而完成数据的提取、转换、分析。同时支持多客户端并发以及身份验证。一个集群内可部署多个 HiveServer,提供负载均衡能力。

2 Hive 原理

Hive 作为 Hadooop 生态的数据仓库,主要能力是对 HiveQL 进行编译、解析,生成并执行相应的作业。HiveQL 操作请参考:HiveQL语言手册
Hive的结构见图:

  • Meta Store: 对元数据进行读写和更新操作。

  • JDBC: 客户端连接方式。

  • Hive Server: 提供 Thrift 接口,作为 JDBC 连接的服务端,接收 HiveQL 请求,交由 Driver 执行,并将结果返回客户端。

  • Driver: 管理 HiveQL 执行的整个生命周期。通过 Compiler 编译转化为一系列相互依赖的 Map/Reduce 任务,并经过 Optimizer 优化器对其优化,最后由 Executor 执行器进行执行。

3 版本功能介绍

下面为您介绍火山引擎 E-MapReduce(简称EMR)各版本对应的 Hive 组件版本,以及各版本中 Hive 提供功能限制。更多组件版本介绍详见:版本概述说明

EMR版本Hive组件版本功能介绍
1.2.13.1.2支持 Tez 和 MR 计算引擎。默认是 Tez
1.3.03.1.2支持 Tez 和 MR 计算引擎。默认是 Tez
1.3.13.1.2支持 Tez 和 MR 计算引擎。默认是 Tez
EMR版本Hive组件版本功能介绍
2.0.12.3.9支持 Tez 和 MR 计算引擎。默认是 Tez
2.1.02.3.9支持 Tez 和 MR 计算引擎。默认是 Tez
EMR版本Hive组件版本功能介绍
3.0.13.1.2支持 Tez 和 MR 计算引擎。默认是 Tez
3.1.03.1.2支持 Tez 和 MR 计算引擎。默认是 Tez