hive元数据库配置、metadata,hivemetadata
一、什么是hive元数据? hive元数据就是hive的一些基本的元素,主要包括hive表的基本属性,如下 (1)hive表的数据库名、表名、字段名称与类型、分区字段与类型 (2)表的分区,分区的属性location等 (3)serdeproperties, tblproperties等等 可以通过 desc formatted tablename 查看表有哪些属性 二、hive默认元数据库Derby(嵌入模式) hive-default.xml通过如下配置设置- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
- <description>JDBC connect string for a JDBC metastore</description>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionDriverName</name>
- <value>org.apache.derby.jdbc.EmbeddedDriver</value>
- <description>Driver class name for a JDBC metastore</description>
- </property>
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配置如下
- <property>
- <name>hive.metastore.local</name>
- <value>true</value>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://localhost/hive?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>hive</value>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionPassword</name>
- <value>password</value>
- </property>
第二种情况,hive-site.xml配置
- <property>
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://192.168.0.1:3306/hive?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>hive</value>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionPassword</name>
- <value>password</value>
- </property>
- <property>
- <name>hive.metastore.local</name>
- <value>false</value>
- </property>
- <property>
- <name>hive.metastore.uris</name>
- <value>thrift://192.168.0.101:9083</value>
- </property>
第三种情况,hive-site.xml配置 1、 服务端配置
- <property>
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://192.168.1.214:3306/hive?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>hive</value>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionPassword</name>
- <value>password</value>
- </property>
- <property>
- <name>hive.metastore.local</name>
- <value>false</value>
- </property>
- <property>
- <name>hive.metastore.uris</name>
- <value>thrift://192.168.0.101:9083</value>
- </property>
在使用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>
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。