Есть ли способ получить доступ к таблицам хранилища метаданных куста из HCATALOG?

В моем приложении я использую хранилище метаданных hive (mysql) от JDBC. Теперь требование изменилось, и я не смогу получить учетные данные хранилища метаданных. Следовательно, я не могу использовать JDBC для доступа к метахранилищу.

Я хотел знать, есть ли способ получить доступ к таблицам hivemetastore, таким как TBLS и INDXS, из HCATALOG? Заранее спасибо.


person prasad    schedule 09.04.2014    source источник
comment
Вам нужен прямой доступ к метатаблицам? HCatalog дает вам достаточно информации, но не имеет прямого доступа к метатаблицам.   -  person Mike Park    schedule 09.04.2014
comment
Привет скалолазание. Вы точно поняли мой вопрос. Мне нужен прямой доступ к метатаблицам куста, таким как TBLS, который содержит все данные таблицы куста. Разве это не возможно через Hcatalog?   -  person prasad    schedule 10.04.2014
comment
Climbage, пожалуйста, дайте мне знать, где я могу найти информацию, которую Hcatalog может предоставить нам?   -  person prasad    schedule 10.04.2014
comment
Запустите здесь. Вы можете получить все это через клиент hive и hcatalog.   -  person Mike Park    schedule 10.04.2014
comment
Я постараюсь дать лучший ответ, когда доберусь до настоящего компьютера (на моем телефоне)   -  person Mike Park    schedule 10.04.2014


Ответы (2)


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

HiveConf conf = new HiveConf(); // should pull hive-site.xml automatically
HiveMetaStoreClient hiveClient = new HiveMetaStoreClient(conf);
Table hiveTable = HCatUtil.getTable(hiveClient, "default", "sometable");

... = hiveTable.getAllIndexes(max);
person Mike Park    schedule 10.04.2014
comment
Спасибо восхождению. Кое-как удалось выполнить задание. Это работает для getPartCols, getAllCols. Но для getAllIndexes он не возвращает индексы, даже если таблица куста имеет индексы. Я попытался установить max для таких комбинаций, как -1, 1,0, 100, как это. На что именно ссылается этот максимальный параметр в функции getAllIndexes. Я имею в виду количество индексов? или ? - person prasad; 14.04.2014

Да, это и есть суть HCatalog: доступ к метахранилищу и управление им. См. ПОКАЗАТЬ ТАБЛИЦЫ.

person Remus Rusanu    schedule 09.04.2014
comment
Привет, Ремус Русану! \n Я проверил команду hcatalog Show Tables. Он отображает только таблицы кустов. Не храните таблицы хранилища метаданных, такие как TBLS. Я немного погуглил и узнал, что hcatalog будет работать с хранилищем метаданных улья так же, как и с ульем. Но он может не отображать таблицы хранилища метаданных. Если у вас есть идеи, как я могу получить доступ к таблицам метахранилища куста (не к таблицам куста) через hcatalog. - person prasad; 10.04.2014
comment
Сорри, неправильно понял ваш вопрос. Вам нужен доступ к таблицам хранилища метаданных, а не к таблицам, хранящимся в хранилищах метаданных. Я должен спросить почему? В чем исходная проблема, почему вы не можете использовать HCatalog API для управления контентом, а не проникать во внутреннюю работу самого хранилища метаданных? - person Remus Rusanu; 10.04.2014
comment
Например, если вы хотите перечислить все индексы куста, связанные с таблицей? будет ли это возможно без метаданных. Для такого рода требований я использовал metastore ранее. Теперь мне нужно выяснить, можно ли добиться того же самого каким-либо другим способом? Одна из мыслей, которые у меня возникли, — могу ли я получить доступ к таблицам хранилища метаданных из Hcatalog. - person prasad; 10.04.2014