Как заставить улей загружать мета-хранилище с определенного пути вместо создания в текущем каталоге?

Я использую Hive для обработки данных. Но всякий раз, когда я запускаю Hive-Shell, он создает хранилище метаданных в текущем каталоге, и я не могу получить доступ к своим таблицам, которые я создал в другом каталоге. Меня немного раздражает то, что я захожу в определенный каталог, а затем запускаю Hive-Shell, чтобы увидеть свои таблицы.

Я попытался настроить путь в hive-default.xml, но безуспешно.

Спасибо


person ablimit    schedule 10.03.2011    source источник


Ответы (2)


Никогда не редактируйте hive-default.xml, вместо этого редактируйте hive-site.xml. Соответствующее свойство - javax.jdo.option.ConnectionURL.

Вы можете использовать mysql вместо derby для своего хранилища метаданных. Краткая статья об этом: http://blog.milford.io/2010/06/installing-apache-hive-with-a-mysql-metastore-in-centos/

person Brian    schedule 15.07.2011

Лучшим вариантом, чем использование mysql, является простое изменение javax.jdo.option.ConnectionUrl. Если это для простой среды разработки, почему бы не использовать дерби по умолчанию?

По умолчанию:

<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, чтобы узнать об этом подробнее.

person Ben B.    schedule 03.05.2013