我独立安装并运行了Metastore Server,而没有安装Hive。但是,我找不到有关用于与服务器通信的节俭网络API的任何文档。我需要能够直接或通过HCatalog连接到Metastore服务器。请告知。
答案 0 :(得分:1)
hive-webhcat-java-client
中有一个HCatalog Java客户端,可以在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中提供类似的客户端,但是有第三方lib 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相同。
答案 1 :(得分:0)
“ Hive Metastore客户端”的JavaDoc及其API(分支1.x)位于
现在,祝您找到教程或只是代码片段...