hive有哪些方式保存元数据,各有哪些特点?
-
- 内存数据库 derby,安装小,但是数据存在内存,不稳定
- mysql 数据库,数据存储模式可以自己设置,持久化好,查看方便。
-
1.内嵌Derby数据库存储
--这个是hive默认自带的内嵌数据库,用来储存元数据,但这个在配置了hiveserver2和metastore服务后,不支持多个用户同时登录,不方便对数据库的安全访问
2.multi user mode
--在自己本地配一个,mysql的数据库用作,hive的元数据的存储数据库,这个需要要自己本地搭建一个mysql数据库,通过配置文件创建一个,hive自己的元数据库,也是我们学习一般会用的方式,配置一般如下
<property> jasbdaksbdaskbdoajsbdasbu <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hostname:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>hive.metastore.uris</name> <value>thrift://hostname:9083</value> <description>IP address (or fully-qualified domain name) and port of the metastore host</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>xxxx</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>xxxx</value> <description>password to use against metastore database</description> </property>
3.remote server mode
一种在远端配置数据库服务的方式,这个需要配置metastore服务,通过客户端的metastore服务访问服务器上的元数据库达到访问数据的目的