Obtenga Table Properties de Hive usando Java API
hadoop metastore (3)
Ejecuté el siguiente comando en mi caja virtual con Cloudera CDH 5.1.0
$ colmena "e" describe nombre de tabla extendida "
El resultado de este comando proporciona información además de tablename, dbname, owner, createtime, location. También puede consultar el siguiente enlace CWIKI para más detalles
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Describe
Estoy tratando de obtener propiedades de tablas como db de tabla, nombre, propietario y ubicación de hdfs fuera de la meta tienda de hive utilizando el cliente metastore en java. Creo que puedo obtener las bases de datos y los nombres de las tablas, pero no entiendo cómo captar cosas como el propietario y la ubicación de HDS. ¿Es posible? He estado buscando en el documento y en internet por un par de horas y no tengo ningún dado.
Podría ser algo como eso:
org.apache.hadoop.hive.metastore.api.Table table=..........;
org.apache.hadoop.hive.metastore.api.StorageDescriptor sd=table.getSd();
String loc=sd.getLocation();
String own=sd.getOwner();
https://hive.apache.org/javadocs/r0.11.0/api/org/apache/hadoop/hive/metastore/api/Table.html https://hive.apache.org/javadocs/r0.11.0/api /org/apache/hadoop/hive/metastore/api/StorageDescriptor.html
Si se trata de una tabla particionada, puede hacer un:
describe la partición de tabla formateada (partition_name = partition_value).
Mostrará la ruta hdfs subyacente y el propietario de la tabla.