是否有方法可以使用 Java jdbc检索配置单元表的hdfs位置。使用Java检索Hive表位置
例如:
我有一个临时表t1。位于'/ user/tables_list/t1'处的 ;
我想使用java代码检索这个位置。
是否有方法可以使用 Java jdbc检索配置单元表的hdfs位置。使用Java检索Hive表位置
例如:
我有一个临时表t1。位于'/ user/tables_list/t1'处的 ;
我想使用java代码检索这个位置。
据我测试,没有一个直接的方法来做到这一点。但是,一旦你设置你的JDBC连接,您可以执行“描述EXTENDED”,这(在测试我一样)将列出表列:
res = stmt.executeQuery("DESCRIBE EXTENDED tweets");
while(res.next()){
System.out.println(res.getString(1));
}
但是,在最后一排,你“会需要使用:
res.getString(2)
它会给你,你需要分析一个详细的表格说明,但地方在那里有AA位置字段
location:hdfs://localhost:8020/user/hive/warehouse/social.db/tweets
的问题,这是这是很多手工的,因为方法,如:
res.last()
或
res.isLast()
不支持,他们将是一个很大的帮助的。
我有同样的要求,我使用HiveMetaStoreClient API和它使得容易打字:
srcTable.getSd().getLocation();
srcTable要应是从蜂巢metastore通过给予表规范检索的表格对象。