本节将展示使用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。
网友评论