美文网首页
09 java访问metastore

09 java访问metastore

作者: 张力的程序园 | 来源:发表于2020-06-16 19:41 被阅读0次

本节将展示使用java代码访问hive的metastore服务。

1、前提约束

  • 已经完成通过hive访问metastore
    https://www.jianshu.com/p/75ff6b1d73c5
    假设metastore服务所在机子ip为192.168.100.142,已启动metastore服务,且已关闭防火墙
  • 在win10操作环境下已包含windows下的hadoop环境,路径为C:/hadoop2.7.2

2、操作步骤

  • 创建一个maven项目,加入以下依赖:
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-metastore</artifactId>
            <version>2.3.4</version>
        </dependency>
  • 在src/main/java文件夹下创建TestMetastore.java
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
import org.apache.hadoop.hive.metastore.api.Database;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.metastore.api.Table;

import java.util.List;

public class TestMetastore {
    public static void main(String[] args) throws Exception {
        System.setProperty("hadoop.home.dir", "C:/hadoop2.7.2");
        HiveConf hiveConf = new HiveConf();
        hiveConf.set("hive.metastore.uris","thrift://192.168.100.142:9083");
        HiveMetaStoreClient hiveMetaStoreClient = new HiveMetaStoreClient(hiveConf);
        //database默认为“default”
        Database database= hiveMetaStoreClient.getDatabase("default");
        //获取database下的所有table
        List<String> tablesList = hiveMetaStoreClient.getAllTables("default");

        for(String table:tablesList)
        {
            System.out.println(table);
        }
        hiveMetaStoreClient.close();
    }
}

以上就是java访问metastore的简单demo。

相关文章

网友评论

      本文标题:09 java访问metastore

      本文链接:https://www.haomeiwen.com/subject/slarxktx.html