Hive学习笔记——metadata

可以在hive的jdbc接口中使用getMetaData方法来获取hive表的相关元信息

statement = connection.createStatement();
DatabaseMetaData meta = connection.getMetaData();

参考

https://blog.csdn.net/u010368839/article/details/76358831

获得表的信息接口

ResultSet tableRet = meta.getTables(null, "%", "ads_nsh_trade", new String[]{"TABLE"});
while (tableRet.next()) {
    System.out.println("TABLE_CAT:" + tableRet.getString("TABLE_CAT"));
    System.out.println("TABLE_SCHEM:" + tableRet.getString("TABLE_SCHEM"));
    System.out.println("TABLE_NAME => " + tableRet.getString("TABLE_NAME"));
    System.out.println("table_type => " + tableRet.getString("table_type"));
    System.out.println("remarks => " + tableRet.getString("remarks"));
    System.out.println("type_cat => " + tableRet.getString("type_cat"));
    System.out.println("type_schem => " + tableRet.getString("type_schem"));
    System.out.println("type_name => " + tableRet.getString("type_name"));
    System.out.println("self_referencing_col_name => " + tableRet.getString("self_referencing_col_name"));
    System.out.println("ref_generation => " + tableRet.getString("ref_generation"));
}

其中的参数可以是

table_cat, table_schem, table_name, table_type, remarks, type_cat, type_schem, type_name, self_referencing_col_name, ref_generation

如果填写不正确将会抛出异常

java.sql.SQLException: Could not find COLUMN_NAME in [table_cat, table_schem, table_name, table_type, remarks, type_cat, type_schem, type_name, self_referencing_col_name, ref_generation]
	at org.apache.hive.jdbc.HiveBaseResultSet.findColumn(HiveBaseResultSet.java:100)
	at org.apache.hive.jdbc.HiveBaseResultSet.getString(HiveBaseResultSet.java:541)

输出的结果

TABLE_CAT:
TABLE_SCHEM:tmp
TABLE_NAME => ads_nsh_trade
table_type => TABLE
remarks => ???????????
type_cat => null
type_schem => null
type_name => null
self_referencing_col_name => null
ref_generation => null

TABLE_CAT:
TABLE_SCHEM:default
TABLE_NAME => ads_nsh_trade
table_type => TABLE
remarks => null
type_cat => null
type_schem => null
type_name => null
self_referencing_col_name => null
ref_generation => null

猜你喜欢

转载自www.cnblogs.com/tonglin0325/p/11451946.html