如何使hive从某个路径加载元存储而不是在当前目录中创建?

时间:2011-03-10 17:03:55

标签: hadoop hive

我正在使用Hive进行一些数据处理。但每当我启动Hive-Shell时,它会在当前目录中创建一个Metastore,而我无法访问我在另一个目录中创建的表。这对我来说有点烦人,我已进入特定目录,然后启动Hive-Shell查看我的表。

我尝试在hive-default.xml中配置路径,但没有成功。

谢谢

2 个答案:

答案 0 :(得分:1)

比使用mysql更好的选择就是修改javax.jdo.option.ConnectionUrl。如果这是一个简单的开发环境,为什么不使用默认的derby?

默认为:

<property>
    <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>

databaseName=metastore_db更改为databaseName=/users/me/.metastore_db

多数民众赞成。

另外,有关详细信息,请参阅http://www.hiregion.com/2010/01/hive-metastore-derby-db.html

答案 1 :(得分:0)

不要编辑hive-default.xml,而是编辑hive-site.xml。 相关属性是javax.jdo.option.ConnectionURL

您可能希望使用mysql而不是derby作为您的Metastore。 关于此的简短文章是http://blog.milford.io/2010/06/installing-apache-hive-with-a-mysql-metastore-in-centos/