hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能 ,
hive使用hivesql 将hivesql 解析 真正mapReduce job 的转化,以及job优化, 执行统统有hvieParser,Planner,Optimizer组件完成,,个人的理解hivesql 解析器就就是一个"虚拟机" 但不负责的job执行
从hive的整体结构(图片来源:hadoop in action)可以了解hive的组件结构和组件.
交互连接方式:
Web GUI : HWI用户交互界面,和hivesQl交互, 通过metastore 取到元数据信息,提交HIVESQL query 到 Parser, Planner, Optimizer.
hiveServer http://hivehost:9999/hwi/
JDBC/ODBC: 通过DataBase Connectivity交互, 通过metastore 取到元数据信息,提交HIVESQL query 到 Parser, Planner, Optimizer.
CLI : command line interface , eg: linux 控制台 ,通过shell提交hivesql .,通过metastore 取到元数据信息,提交HIVESQL query 到 Parser, Planner, Optimizer.
元数据存储:
MeteStore : hive 数据仓库的元数据存储,内容 schema information ,通常是一个关系数据库, 采用mysql derby 等几种存储方式.主要HIVE的数据管理工作,
通常有如下几种方式
- 1 使用derby数据库存储元数据. 单用户环境.使用derby存储方式时,运行hive会在当前目录生成一个derby文件和一个metastore_db目录。这种存储方式的弊端是在同一个目录下同时只能有一个hive客户端能使用数据库
- 2 使用本机mysql服务器存储元数据,这种存储方式需要在本地运行一个mysql服务器,并需要将mysql的jar包拷贝到$HIVE_HOME/lib目录下
-
<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive_remote/warehouse</value> </property> <property> <name>hive.metastore.local</name> <value>true</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/hive_remote?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>xxxx</value> </property>
- 3 使用远端mysql服务器存储元数据。这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务
- hive服务器端配置如下
-
<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive_remote/warehouse</value> </property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/hive_remote?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>xxxx</value> </property>
Hive客户端配置如下。<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive_remote/warehouse</value> </property> <property> <name>hive.metastore.local</name> <value>false</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://remoteSever:9083</value> </property>
相关推荐
hive metastore hive metastore是hive的元数据管理服务,实际应用中很多第三方框架需要访问metastore服务,如spark,impala等。同样hive metastore也提供了java接口。 使用 import org.apache.hadoop.hive.conf....
《Hive metastore 使用达梦数据库存储元数据详解》 在大数据处理领域,Hive作为一个分布式数据仓库工具,被广泛用于存储和管理大规模结构化数据。Hive的元数据是其核心组成部分,它包含了表、分区、列等信息,使得...
《深入理解Hive Metastore管理机制》 在大数据处理领域,Hive作为一个基于Hadoop的数据仓库工具,因其易用性和高效性而被广泛应用。其中,Hive Metastore是Hive的核心组件之一,它负责管理和存储元数据,是理解和...
《3-9+HiveMetaStore服务在快手的挑战与优化》 在大数据处理领域,HiveMetaStore作为Hive的核心组件,负责管理元数据,包括表、分区、列、属性等信息,是Hive查询数据的基础。在快手这样的大型互联网公司中,Hive...
hive-metastore-3.1.2.jar
背景:由于Hive需要开启权限管理,安装网上教程,开启权限配置,重启集群后。 使用root用户登录,进入Hive命令行界面。 执行 create database test; 发现报错: Authorization failed:No privilege 'Create' found ...
然而,手动启动和停止Hive的服务,如HiveServer2和Metastore,可能会变得繁琐和耗时。为了解决这个问题,我们可以创建自定义的Shell脚本以及使用systemd服务来实现一键启停Hive的相关服务。 首先,我们来看一下提供...
《PyPI上的Hive Metastore Client:大数据仓库的关键组件》 在大数据处理领域,Hadoop和Hive是两个至关重要的工具。Hadoop提供了一个分布式文件系统(HDFS),而Hive则是一个基于Hadoop的数据仓库系统,允许用户...
在这个配置文件中,我们可以看到两个重要的参数:`hive.metastore.local` 和 `hive.metastore.uris`。 * `hive.metastore.local` 参数控制是否在 Hive 客户端 JVM 中打开一个新的 metastore 服务器。如果设置为 `...
在hive java api的时候 : 需要导入hive运行所需的jar包,导入jar包有两种方式可实现 1.使用maven依赖直接修改配置文件,以下为配置内容:(不推荐,会下载额外很多无用包,而且时间很长在1小时左右) 2.挑选必须...
logger.HiveMetaStore.name = org.apache.hadoop.hive.metastore.HiveMetaStore.audit logger.HiveMetaStore.level = INFO logger.HiveMetaStore.appenderRef.all.ref = DRFB ``` 5. **找到配置文件**: 默认...
在这篇文章中,我们将详细介绍如何配置Hive环境,包括安装Hive、配置Hadoop环境、配置Hive Metastore数据库等步骤。同时,我们还将使用Xshell6工具来远程连接到Hive服务器,并学习如何使用Hive命令行工具来执行查询...
Metastore组件是Hadoop生态系统中的一个重要组成部分,特别是在处理数据仓库任务的场景下,如使用Hive进行数据的查询和分析。Metastore的作用是存储和管理Hive的元数据信息。元数据(Metadata)是关于数据的数据,它...
### HBase 数据操作详解 #### 一、HBase简介与基本概念 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。...
2. **Hive Metastore**:这部分jar包用于存储Hive的元数据,包括表结构、分区信息、列类型等。元数据可以存储在本地MySQL、PostgreSQL或者远程Thrift服务器上。 3. **Hive SerDes(Serialization/Deserialization)...
* Hive Metastore:用于存储HIVE的元数据 * Hive Query Compiler:将SQL查询转换为MapReduce任务 * Hive Execution Engine:执行MapReduce任务 * Hive Storage Handler:用于存储数据 各组件的基本功能: * Hive ...
2. **Hive Metastore服务**: Hive Metastore是Hive存储元数据的地方,包括表结构、分区信息等。对应的jar包提供了访问这些元数据的API,如`org.apache.hadoop.hive.metastore.HiveMetaStoreClient`。 3. **Hive ...
独立的Hive Metastore 该项目可在本地运行Hive Metastore,或将其嵌入到容器中。 尽管是公开的,但该项目目前尚未记录,并且可能仍承载某些基础结构特定配置。 该项目的灵感来自和多亏了他
Hive Metastore:存储元数据(如表的模式、分区信息等)。 HiveServer2:提供客户端连接和 SQL 查询执行。 Hive Execution Engine:这是实际执行查询的组件,它读取数据,处理查询,并返回结果。 hive-exec-2.1.1 是...
综上所述,这些JAR文件代表了Hive2.x驱动所需的核心组件,包括Hadoop HDFS、Hive Metastore、HBase接口、Parquet支持以及必要的依赖库,这使得用户能够在各种安全环境下连接和操作Hive。无论是无Kerberos的环境还是...