2014-01-20 2 views
4

Я новичок в мире Hadoop и Hive.Улей не показывает таблицы

У меня странная проблема. Когда я работал над подсказкой улья. Я создал несколько таблиц, и улей показывали эти таблицы.

После выхода из сеанса Hive, когда я снова запустил терминал для улей «show tables»; не показывает никакой таблицы !. Я вижу таблицы в «/ user/hive/warehouse» в HDFS.

Что не так, я делаю. Не могли бы вы помочь мне в этом?

+0

Не могли бы вы разместить свою конфигурацию метастара? –

+0

Я новичок в Hadoop и Hive. Не могли бы вы посоветовать мне, как это сделать или где я могу это найти? – Bhagwant

+0

Кажется, вы используете дельта-дерби как метастор (поскольку вы новичок, если я правильно понял, что вы не коснулись hive-site.xml, я думаю), пожалуйста, опубликуйте ошибку или исключение, получаемое вами (я имею в виду статус запроса) –

ответ

6

BalduZ является правильным. установить это в $ HIVE_HOME/CONF/улья site.xml

имя свойства = javax.jdo.option.ConnectionURL

значение свойства = JDBC: котелок:; Databasename =/дом/youruser/hive_metadata/metastore_db; create = true

В следующий раз вы можете запустить куст из любого места расположения. Это решит вашу проблему.

+0

Привет, вам это не удалось без установки дерби? – larry

+0

База данных по умолчанию, которая поставляется с пакетом hive, является только дерби. Не нужно устанавливать его отдельно. настройка над свойством указывает куст, использовать встроенное дерби, указывая его на определенное местоположение (/home.yourusername/hive_metadata/metastore_db) для хранения файлов derby-meta. если не указано - проблема, упомянутая @Balduz, произойдет –

+0

Вау, я думаю, что я просто сделал очень тупую работу, которую я установил derby самостоятельно и запустил сервис. – larry

4

Я предполагаю, что вы используете конфигурацию по умолчанию, поэтому проблема заключается в том, что вы вызываете улей для начала работы, так как вам нужно вызвать ее из одного и того же каталога, чтобы увидеть таблицы, созданные в предыдущем сеансе улья.

Например, если вы звоните в куст, когда находитесь в ~/test/hive и создаете несколько таблиц, а в следующий раз, когда вы используете куст, вы начинаете его с ~/test, вы не увидите таблицы, которые вы создали ранее. Самое простое решение - всегда начинать улей из одного и того же каталога.

Однако лучшим решением было бы сконфигурировать куст так, чтобы он использовал базу данных, такую ​​как MySQL, как метастор. Вы можете найти, как это сделать here.

Смежные вопросы