视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
hive元数据库配置、metadata
2020-11-09 14:16:28 责编:小采
文档


一、什么是hive元数据? hive元数据就是hive的一些基本的元素,主要包括hive表的基本属性,如下 (1)hive表的数据库名、表名、字段名称与类型、分区字段与类型 (2)表的分区,分区的属性location等 (3)serdeproperties, tblproperties等等 可以通过 desc

一、什么是hive元数据? hive元数据就是hive的一些基本的元素,主要包括hive表的基本属性,如下 (1)hive表的数据库名、表名、字段名称与类型、分区字段与类型 (2)表的分区,分区的属性location等 (3)serdeproperties, tblproperties等等 可以通过 desc formatted tablename 查看表有哪些属性 二、hive默认元数据库Derby(嵌入模式) hive-default.xml通过如下配置设置
javax.jdo.option.ConnectionURL
jdbc:derby:;databaseName=metastore_db;create=true
JDBC connect string for a JDBC metastore




javax.jdo.option.ConnectionDriverName
org.apache.derby.jdbc.EmbeddedDriver
Driver class name for a JDBC metastore

Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以做为单独的数据库服务器使用,也可以内嵌在应用程序中使用。所以hive采用了Derby作为一个内嵌的元数据库,可以完成hive安装的简单测试。 hive安装完成之后,就可以在hive shell中执行一些基本的操作,创建表、查询等等。如果你细心的话,就会发现一个问题: 当在某个目录下启动终端,进入hive shell时,hive默认会在当前目录下生成一个derby文件和一个metastore_db目录,这两个文件主要保存刚刚在shell中操作的一些sql的结果,比如新建的表、添加的分区等等 这种存储方式的带来弊端 1.在同一个目录下同时只能有一个hive客户端能使用数据库 2.切换目录启动新的shell,无法查看之前创建的表,不能实现表数据的共享 三、使用mysql作为元数据库 由于使用默认的元数据库有些弊端,所以采用mysql保存hive元数据解决上面的问题。hive所有的元数据都保存在同一个库里,这样不同开发者创建的表可以实现共享。
mysql配置又分为几种情况: (1)mysql部署在hive服务器,使用本地服务(测试、学习使用)
(2)mysql部署在其他机器,hive服务器开启metadata服务,在hive服务器上操作hive
(3)mysql部署在其他机器,hive服务器开启metadata服务,在hive客户端访问hive的metadata服务
配置mysql: 配置mysql时,首先要把mysql-jdbc-driver.jar拷贝到$HIVE_HOME/lib目录下,修改hive-default.xml名字为hive-site.xml 第一种情况,hive-site.xml配置如下

hive.metastore.local
true




javax.jdo.option.ConnectionURL
jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true




javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver




javax.jdo.option.ConnectionUserName
hive




javax.jdo.option.ConnectionPassword
password

第二种情况,hive-site.xml配置

javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.0.1:3306/hive?createDatabaseIfNotExist=true




javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver




javax.jdo.option.ConnectionUserName
hive




javax.jdo.option.ConnectionPassword
password




hive.metastore.local
false




hive.metastore.uris
thrift://192.168.0.101:9083


第三种情况,hive-site.xml配置 1、 服务端配置

javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.1.214:3306/hive?createDatabaseIfNotExist=true




javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver




javax.jdo.option.ConnectionUserName
hive




javax.jdo.option.ConnectionPassword
password
 2、客户端配置

hive.metastore.local
false




hive.metastore.uris
thrift://192.168.0.101:9083

在使用hive开始前,如果mysql是部署在远端且 hive.metastore.local=false 则需要启动hive的metadata服务
$ hive --service metastore

客户端使用hive命令即可

root@local:~$ hive
hive> show tables;
OK
Time taken: 0.7 seconds
hive>

下载本文
显示全文
专题