如何独立使用Hive Metastore?

时间:2019-09-20 23:49:26

标签: hcatalog hive-metastore

我独立安装并运行了Metastore Server,而没有安装Hive。但是,我找不到有关用于与服务器通信的节俭网络API的任何文档。我需要能够直接或通过HCatalog连接到Metastore服务器。请告知。

2 个答案:

答案 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)