通过Hcatalog的java接口,获取hive表的元数据信息
一、获取hive表元数据的方式:
1、通过hive的beeline客户端命令获取表元数据,如在beeline客户端中执行desc tablename;
2、通过hive的jdbc接口获取获取表元数据;
3、通过HCatalog的hcat客户端获取表元数据,如执行hcat -e "desc tablename";
4、通过HCatalog的java接口获取表元数据;
5、通过WebHcat的restful接口获取表元数据;
6、通过hive表的元数据库高斯DB获取表元数据(hive表的元数据库不对外开放)。
二、关于HCatalog
HCatalog建立在Hive Metastore之上,具有Hive的DDL能力。 从另外一种意义上说,HCatalog还是Hadoop的表和存储管理层,它使用户能够通过使用不同的数据处理工具(比如Pig和MapReduce),更轻松地在网格上读写HDFS上的数据, HCatalog还能为这些数据处理工具提供读写接口,并使用Hive的命令行接口发布数据定义和元数据探索命令。此外,经过封装这些命令,WebHcat Server还对外提供了RESTful接口。
HCatalog接口直接访问Hive Metastore,在效率上更为高效。本章节主要介绍通过Hcatalog的java接口,获取hive的元数据信息。
三、java代码
样例代码功能:获取hive表中列的个数。
package com.huawei.bigdata.hcatalog.example;