3

使用默认数据库在 hadoop 上成功运行 hive。现在我想通过 mysql 连接 Hive(mysql 安装在端口 3306 上)。

步骤: 1)创建 hive-site.xml 并粘贴属性

  <property>
  <name>hive.metastore.local</name>
  <value>true</value>
  </property>

  <property>
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:mysql://localhost: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>hadoop</value>
  </property>

  <property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hadoop</value>
  </property>

2) 将连接器粘贴到 hive lib 文件夹中。

3)比使用我的mysql检查但没有在hive仓库中创建数据库。

我没有错误,但仍未创建数据库。如果有任何解决方案,请提出建议。

编辑

日志文件中的错误

ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.resources" but it cannot be resolved.
ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.resources" but it cannot be resolved.
ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.runtime" but it cannot be resolved.
ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.runtime" but it cannot be resolved.
ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.text" but it cannot be resolved.
ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.text" but it cannot be resolved.
4

1 回答 1

0

Hive 有一个限制:

您在下面使用的数据库“配置单元”仅用于将配置单元元数据信息存储在 mysql dbms 中

 1. jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

并不意味着 Hive 将在 HDFS 中为数据仓库使用相同的名称。限制是 Hive 仅支持名称“默认”作为数据库名称。

用于 Hive 的 JDBC 连接字符串(这应该让您更清楚一些)

2. jdbc:hive://localhost:10000/default

检查10000/default部分并比较 (1) 和 (2)

我不确定这是否已经改变。

于 2013-07-02T09:29:15.710 回答