使用MySQL作为Hive的Metastore

2014-11-24 18:10:42 · 作者: · 浏览: 1

先确保你已经成功安装了HIVE和MYSQL


在hive-site.xml中添加如下内容,指定METASTORE的地址以及连接方式



javax.jdo.option.ConnectionURL
jdbc:mysql://10.20.151.10:3306/hive characterEncoding=UTF-8
JDBC connect string for a JDBC metastore


javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore


javax.jdo.option.ConnectionUserName
hive_user
username to use against metastore database


javax.jdo.option.ConnectionPassword
123
password to use against metastore database


然后登陆到HIVE客户端,创建一个表试试


报错了,提示很明显,识别不到名称为hive的database,难道要自己创建?试试


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)


mysql> create database hive;
Query OK, 1 row affected (0.00 sec)


mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hive |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)


再登陆到HIVE里看看


[gpadmin1@hadoop5 hive-0.6.0]$ bin/hive
Hive history file=/tmp/gpadmin1/hive_job_log_gpadmin1_201106081130_544334815.txt
hive> show table;
FAILED: Parse Error: line 0:-1 mismatched input '' expecting EXTENDED in show statement


hive> show tables;
OK
Time taken: 5.173 seconds
hive> CREATE TABLE u_tmp1 (id1 INT,
> id2 int
> )
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY ',';
OK
Time taken: 0.266 seconds
hive> show tables;
OK
u_tmp1
Time taken: 0.197 seconds
hive>


OK了,果然是这个问题