我独立安装并运行了 Metastore 服务器,没有安装 Hive。但是,我找不到任何有关与服务器通信的节俭网络 API 的文档。我需要能够直接或通过 HCatalog 连接到 Metastore 服务器。请指教。
问问题
1155 次
2 回答
1
中有一个 HCatalog Java 客户端hive-webhcat-java-client
,可以在client mode
(连接到 hcatalog thrift 服务器)和embed mode
(在内部完成所有事情,直接连接到 mysql)中使用。
HiveConf hiveConf = new HiveConf();
hiveConf.addResource("/Users/tzp/Documents/env/apache-hive-3.1.2-bin/conf/hive-site.xml");
//if you set this param, the client try to connect external hive metastore
hiveConf.set("metastore.thrift.uris", "thrift://localhost:9083");
HCatClient client = HCatClient.create(new Configuration(hiveConf));
List<String> dbNames = client.listDatabaseNamesByPattern("*");
System.out.println(dbNames);
我不认为 Hive 在 Python 中提供类似的客户端,但是有一个第三方库hmsclient,做同样的事情。
from hmsclient import hmsclient
client = hmsclient.HMSClient(host='localhost', port=9083)
with client as c:
c.check_for_named_partition('db', 'table', 'date=20180101')
HCatalog 在功能上与 Hive Metastore 相同。
于 2020-05-11T10:07:08.340 回答
0
“Hive Metastore 客户端”的 JavaDoc 及其 API(分支 1.x)可在
- https://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.html
- https://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/metastore/api/package-summary.html
现在,祝你好运找到教程或只是代码片段......
于 2019-09-21T13:08:33.947 回答