`
eclipse_cc
  • 浏览: 5552 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

hive核心模块浅析

    博客分类:
  • hive
阅读更多

简单翻译下hive开发者指南核心组件部分,加入了自己的一些理解,方便调试时理解

转载注明出处:

http://eclipse-cc.iteye.com/blog/1412001

 

Hive核心模块

Ø  序列号、反序列化

Ø  元数据存储

Ø  查询处理器

 

序列化、反序列化

元数据存储

元数据存储有以下模块组成:

ØMetaStoreServerThrift Server,处理语言无关的元数据请求

ØObjectStore:处理metaStoreSQL存储的情况,使用了JPOX ORM技术(基于JDO技术,JPOX已过时并被合并,现在的项目为DataNucleus),通过该途径可直接获得数据对象,只支持java语言。

ØMetaStoreClient:对应server,提供多种语言客户端,其中java clientHive中其它组件使用,用于获得元数据

查询处理器

Ø解析与语义分析:解析SQL,生成语法树,将语法树转化为执行计划,最终将执行计划转化为Tasks,供Driver使用,SQL-Tree-Plan-Tasks

Ø优化器:基于规则的优化器

Ø计划组件:计划组件指描述符,用于生成执行计划树,编译器会使用这些组件将SQL“描述”为执行计划树

Ø元数据层:用于编译器访问元数据

ØMR执行引擎:执行MR

ØHadoop输入、输出层:hive job的输入输出

Ø会话层:简单的hive会话实现

Ø数据类型:列数据类型信息,用于元数据管理、序列化反序列化

ØUDFUDTF:包含实现于接口

ØTools:简单的分析工具

分享到:
评论

相关推荐

    hive客户端安装_hive客户端安装_hive_

    在大数据处理领域,Hive是一个非常重要的工具,它提供了一个基于Hadoop的数据仓库基础设施,用于数据查询、分析和管理大规模数据集。本教程将详细讲解如何在Linux环境下安装Hive客户端,以便进行数据操作和分析。 ...

    HIVE安装及详解

    "HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...

    Hive驱动1.1.0.zip

    1. **hive-exec.jar**:包含Hive执行引擎的核心类,用于执行HQL查询。 2. **hive-jdbc.jar**:提供Hive的JDBC驱动,使你能通过JDBC接口连接到Hive服务器。 3. **libthrift.jar**:Thrift库,Hive使用的RPC框架,用于...

    hive-3.1.1安装包

    Hive也不是分布式计算框架,Hive的核心工作就是把sql语句翻译成MR程序去执行,不用我们再手动去写MapReduce了。 Hive也不提供资源调度系统,默认由Hadoop集群中的YARN集群来调度。 Hive可以将结构化的数据映射为...

    HIVE相关的jar包

    首先,Hive jar包是Hive服务的核心组件,它们包含了Hive的所有接口、执行引擎、元数据管理和解析器等模块。开发者通常需要这些jar包来创建自定义的Hive UDF(用户自定义函数)或UDAF(用户自定义聚合函数)以扩展...

    hive相关jar包

    Hive的jar包通常包括以下几个核心部分: 1. **Hive Client**:这是连接到Hive服务器并执行查询的客户端接口。它包含了HQL解析器、编译器和执行器,使得开发者可以通过编写Java代码或者使用命令行工具与Hive交互。 ...

    Hive_JDBC.zip_hive java_hive jdbc_hive jdbc pom_java hive_maven连

    在大数据处理领域,Apache Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询存储在Hadoop集群中的大型数据集。Hive JDBC(Java Database Connectivity)是Hive提供的一种...

    apache-hive-2.3.9-bin.tar大数据HIVE.zip

    首先,让我们深入了解一下Hive的核心概念和功能: 1. **数据模型**:Hive 支持两种主要的数据存储结构——表(Table)和分区(Partition)。表是数据的基本单位,可以看作是关系数据库中的表格。分区则是对大表进行...

    Hive3.1.2编译源码

    使用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。 所以,如果想要使用高...

    Ambari下Hive3.0升级到Hive4.0

    在大数据领域,Apache Ambari 是一个用于 Hadoop 集群管理和监控的开源工具,而 Hive 是一个基于 Hadoop 的数据仓库系统,用于处理和分析大规模数据集。本话题聚焦于如何在 Ambari 环境下将 Hive 3.0 升级到 Hive ...

    Hive2.x系列驱动,

    综上所述,这些JAR文件代表了Hive2.x驱动所需的核心组件,包括Hadoop HDFS、Hive Metastore、HBase接口、Parquet支持以及必要的依赖库,这使得用户能够在各种安全环境下连接和操作Hive。无论是无Kerberos的环境还是...

    hive-jdbc hive jdbc驱动

    hive-jdbc

    如何在python中写hive脚本

    总结来说,要在Python中执行Hive脚本,主要依赖`os`模块的`popen`或`system`函数,配合`pd.read_csv`解析查询结果为DataFrame。同时,注意资源管理,如显存占用,特别是在使用深度学习框架时。通过这种方式,可以将...

    hive-site.xml

    hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+...

    hive

    Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户使用 SQL 类似的查询语言(称为 HiveQL)来处理和分析存储在 Hadoop 分布式文件系统(HDFS)中的大数据集。Hive 提供了一个数据层,使得非编程背景的用户也能方便...

    Hive表生成工具,Hive表生成工具Hive表生成工具

    Hive表生成工具,Hive表生成工具Hive表生成工具

    连接hive依赖的jar包_hive连接方式

    在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,使得用户可以使用SQL语句来处理存储在Hadoop分布式文件系统(HDFS)上的大数据。...

    数据库工具连接hive的驱动包

    本篇文章将详细解释“数据库工具连接Hive的驱动包”及其核心知识点。 首先,Hive JDBC(Java Database Connectivity)驱动是连接Hive服务器的关键。JDBC是Java语言中用于与各种数据库进行通信的标准接口,而Hive ...

    hive-jdbc.zip

    4. **hive-service-1.1.0-cdh5.14.0.jar**:Hive服务模块,包含了客户端和服务端交互所需的接口和实现。 5. **zookeeper-3.4.5-cdh5.14.0.jar**:ZooKeeper是一个分布式协调服务,Hadoop集群中常用于管理和维护配置...

    Hive metastore 使用达梦数据库存储元数据

    Hive的元数据是其核心组成部分,它包含了表、分区、列等信息,使得Hive能够正确地组织和查询数据。通常,Hive元数据默认存储在MySQL或Derby等关系型数据库中。然而,为了适应更复杂的业务需求和更高的性能,我们可以...

Global site tag (gtag.js) - Google Analytics