我正在使用Hive进行一些数据处理。但每当我启动Hive-Shell时,它会在当前目录中创建一个Metastore,而我无法访问我在另一个目录中创建的表。这对我来说有点烦人,我已进入特定目录,然后启动Hive-Shell查看我的表。
我尝试在hive-default.xml中配置路径,但没有成功。
谢谢
答案 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/