简单翻译下hive开发者指南核心组件部分,加入了自己的一些理解,方便调试时理解
转载注明出处:
http://eclipse-cc.iteye.com/blog/1412001
Hive核心模块
Ø 序列号、反序列化
Ø 元数据存储
Ø 查询处理器
序列化、反序列化
略
元数据存储
元数据存储有以下模块组成:
ØMetaStoreServer:Thrift Server,处理语言无关的元数据请求
ØObjectStore:处理metaStore为SQL存储的情况,使用了JPOX ORM技术(基于JDO技术,JPOX已过时并被合并,现在的项目为DataNucleus),通过该途径可直接获得数据对象,只支持java语言。
ØMetaStoreClient:对应server,提供多种语言客户端,其中java
client被Hive中其它组件使用,用于获得元数据
查询处理器
Ø解析与语义分析:解析SQL,生成语法树,将语法树转化为执行计划,最终将执行计划转化为Tasks,供Driver使用,SQL-》Tree-》Plan-》Tasks
Ø优化器:基于规则的优化器
Ø计划组件:计划组件指描述符,用于生成执行计划树,编译器会使用这些组件将SQL“描述”为执行计划树
Ø元数据层:用于编译器访问元数据
ØMR执行引擎:执行MR
ØHadoop输入、输出层:hive
job的输入输出
Ø会话层:简单的hive会话实现
Ø数据类型:列数据类型信息,用于元数据管理、序列化反序列化
ØUDF、UDTF:包含实现于接口
ØTools:简单的分析工具
分享到:
相关推荐
在大数据处理领域,Hive是一个非常重要的工具,它提供了一个基于Hadoop的数据仓库基础设施,用于数据查询、分析和管理大规模数据集。本教程将详细讲解如何在Linux环境下安装Hive客户端,以便进行数据操作和分析。 ...
"HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...
1. **hive-exec.jar**:包含Hive执行引擎的核心类,用于执行HQL查询。 2. **hive-jdbc.jar**:提供Hive的JDBC驱动,使你能通过JDBC接口连接到Hive服务器。 3. **libthrift.jar**:Thrift库,Hive使用的RPC框架,用于...
Hive也不是分布式计算框架,Hive的核心工作就是把sql语句翻译成MR程序去执行,不用我们再手动去写MapReduce了。 Hive也不提供资源调度系统,默认由Hadoop集群中的YARN集群来调度。 Hive可以将结构化的数据映射为...
首先,Hive jar包是Hive服务的核心组件,它们包含了Hive的所有接口、执行引擎、元数据管理和解析器等模块。开发者通常需要这些jar包来创建自定义的Hive UDF(用户自定义函数)或UDAF(用户自定义聚合函数)以扩展...
Hive的jar包通常包括以下几个核心部分: 1. **Hive Client**:这是连接到Hive服务器并执行查询的客户端接口。它包含了HQL解析器、编译器和执行器,使得开发者可以通过编写Java代码或者使用命令行工具与Hive交互。 ...
在大数据处理领域,Apache Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询存储在Hadoop集群中的大型数据集。Hive JDBC(Java Database Connectivity)是Hive提供的一种...
首先,让我们深入了解一下Hive的核心概念和功能: 1. **数据模型**:Hive 支持两种主要的数据存储结构——表(Table)和分区(Partition)。表是数据的基本单位,可以看作是关系数据库中的表格。分区则是对大表进行...
使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...
在大数据领域,Apache Ambari 是一个用于 Hadoop 集群管理和监控的开源工具,而 Hive 是一个基于 Hadoop 的数据仓库系统,用于处理和分析大规模数据集。本话题聚焦于如何在 Ambari 环境下将 Hive 3.0 升级到 Hive ...
综上所述,这些JAR文件代表了Hive2.x驱动所需的核心组件,包括Hadoop HDFS、Hive Metastore、HBase接口、Parquet支持以及必要的依赖库,这使得用户能够在各种安全环境下连接和操作Hive。无论是无Kerberos的环境还是...
hive-jdbc
总结来说,要在Python中执行Hive脚本,主要依赖`os`模块的`popen`或`system`函数,配合`pd.read_csv`解析查询结果为DataFrame。同时,注意资源管理,如显存占用,特别是在使用深度学习框架时。通过这种方式,可以将...
hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+...
Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户使用 SQL 类似的查询语言(称为 HiveQL)来处理和分析存储在 Hadoop 分布式文件系统(HDFS)中的大数据集。Hive 提供了一个数据层,使得非编程背景的用户也能方便...
Hive表生成工具,Hive表生成工具Hive表生成工具
在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,使得用户可以使用SQL语句来处理存储在Hadoop分布式文件系统(HDFS)上的大数据。...
本篇文章将详细解释“数据库工具连接Hive的驱动包”及其核心知识点。 首先,Hive JDBC(Java Database Connectivity)驱动是连接Hive服务器的关键。JDBC是Java语言中用于与各种数据库进行通信的标准接口,而Hive ...
4. **hive-service-1.1.0-cdh5.14.0.jar**:Hive服务模块,包含了客户端和服务端交互所需的接口和实现。 5. **zookeeper-3.4.5-cdh5.14.0.jar**:ZooKeeper是一个分布式协调服务,Hadoop集群中常用于管理和维护配置...
Hive的元数据是其核心组成部分,它包含了表、分区、列等信息,使得Hive能够正确地组织和查询数据。通常,Hive元数据默认存储在MySQL或Derby等关系型数据库中。然而,为了适应更复杂的业务需求和更高的性能,我们可以...