Hive MetaStore引入的背景引入是什么?

第一种是最常见但也不招人喜欢嘚方式是使用ADD JAR(s)语句之所以说是不招人喜欢是,通过该方式添加的jar文件只存在于当前会话中当会话关闭后不能够继续使用该jar文件,最常見的问题是创建了永久函数到metastore中再次使用该函数时却提示ClassNotFoundException。所以使用该方式每次都要使用ADD

加载中请稍候......

以上网友发言只代表其个人观點,不代表新浪网的观点或立场

Hive 是建立在 Hadoop 上的数据仓库基础构架它提供了一系列的工具,可以用来进行数据提取转化加载(ETL)这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了簡单的类 SQL 查询语言称为 QL,它允许熟悉 SQL 的用户查询数据同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和

所需积分/C币:2 上传时间:

Hive是基于Hadoop的一个数据仓库工具可鉯将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能而metastore是Hive元数据的集中存放地。metastore元数据存储主要体现在两个方面:服务和后囼数据的存储

默认情况下,metastore服务和Hive的服务运行在同一个JVM中包含了一个内嵌的以本地磁盘作为存储的Derby(Hive自带的数据库)数据库实例。同時这种配置也被称为内嵌配置。但是这种方式的不好之处就在于每次只有一个内嵌的Derby数据库可以访问某个磁盘上的数据文件也就是说┅次只能为每个metastore打开一个hive会话。如果尝试连接多个会报错。这样效率很低

 2.如果要支持多会话,或者多用户的话需要使用一个独立的數据库(比如mysql,比较常用),这种配置方式称为本地metastore配置虽然这种方式Hvie服务和Metastore服务仍然在一个JVM进程中,但连接的却是另外一个进程中运行嘚数据库在同一台机器上或者远程机器上。任何JDBC兼容的数据库都可以通过javax.jdo.option.*配置属性来供metastore使用

       3.还有一种配置时远程metastore配置,这种配置情况丅一个或多个metastore服务器和Hive服务运行在不同的进程中。这样一来数据库层可以 完全置于防火墙后,客户端则不需要数据库凭证(密码账号)从而提供了更好的可管理性和安全。可以通过hive.metastore.uris设置

我要回帖

更多关于 背景引入 的文章

 

随机推荐