在Mysql中获取hive表的元数据信息

  获取hive的元数据信息可以通过hive的元数据库(通常为Msyql)获得,通过sql的关联即可。
  具体内容如下sql所示,这里就不作详解了。

SELECT 
  t2.`NAME` `database_name`, -- 库名
  t2.`DESC` `database_comment`, -- 库注释
  t1.`TBL_NAME` `table_name`, -- 表名
  t3.`PARAM_VALUE` `table_comment`, -- 表注释
  FROM_UNIXTIME(t1.`CREATE_TIME`) `table_create_time`, -- 表创建时间
  t5.`COLUMN_NAME` `column_name`, -- 字段名
  t5.`COMMENT` `column_comment`, -- 字段注释
  t5.`TYPE_NAME` `column_data_type` -- 字段数据类型
FROM 
  tbls t1 -- 获取表名称及表创建时间
JOIN
  dbs t2 -- 获取库名及库注释
ON
  t1.DB_ID = t2.DB_ID -- 以库ID作为关联关系
JOIN
(
  SELECT
    TBL_ID,
    PARAM_KEY,
    PARAM_VALUE
  FROM
    table_params -- 获表注释
  WHERE 
    PARAM_KEY = 'comment'
) t3
ON
  t1.TBL_ID = t3.TBL_ID
JOIN
  sds t4 -- 获取C_ID,用以获取字段注释
ON
  t1.SD_ID = t4.SD_ID -- 以S_ID作为关联关系获取C_ID
JOIN
  columns_v2 t5 -- 字段名称及字段注释都在此表中
ON
  t4.CD_ID = t5.CD_ID
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值