美文网首页
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