hive 通过元数据导出所有表信息

南墨2年前技术文章626

select 

db.NAME as db_name,

tb.TBL_NAME as table_name,

case tb.TBL_TYPE when 'MANAGED_TABLE' then '' else 'external' end as table_type,

sds.LOCATION,

sds.INPUT_FORMAT,

sds.OUTPUT_FORMAT,

t1.TBLPROPERTIES,

ser.SLIB as rowFS,

t2.WithSERD,

t3.colums,

t4.part,

tb.SD_ID,tb.TBL_ID,sds.CD_ID,sds.SERDE_ID

from TBLS tb

join metastore.DBS db on tb.DB_ID=db.DB_ID

join metastore.SDS sds on tb.SD_ID = sds.SD_ID

join (

   select  tp.TBL_ID,  group_concat(concat_ws(':',tp.PARAM_KEY,tp.PARAM_VALUE) separator '@#@') as TBLPROPERTIES

   from metastore.TABLE_PARAMS tp

   group by tp.TBL_ID

) t1 on tb.TBL_ID=t1.TBL_ID

join metastore.serdes ser on ser.SERDE_ID=sds.SERDE_ID

left join (

   select spa.SERDE_ID, group_concat(concat_ws(':',spa.PARAM_KEY,spa.PARAM_VALUE) separator '@#@') as WithSERD

   from metastore.SERDE_PARAMS spa

   group by spa.SERDE_ID

)t2  on t2.SERDE_ID = sds.SERDE_ID

join (

  select cv2.CD_ID, group_concat(concat_ws(':',cv2.INTEGER_IDX,cv2.TYPE_NAME,cv2.COLUMN_NAME) separator '@#@') as colums

  from metastore.COLUMNS_V2 cv2

  group by cv2.CD_ID

)t3 on t3.CD_ID = sds.CD_ID

  left join (

  select parts.TBL_ID,group_concat(concat_ws(':',parts.PKEY_NAME,parts.PKEY_TYPE) separator '@#@') as part

  from metastore.partition_keys parts

  group by parts.TBL_ID

)t4 on tb.TBL_ID=t4.TBL_ID;


相关文章

MySQL 通过 MTS 多线程恢复增量日志备份

MySQL 通过 MTS 多线程恢复增量日志备份

一、前言当发生 DDL 误删数据时,只能通过 备份 + 增量日志 来恢复,备份恢复到新实例后,将增量日志备份进行应用,此时只能单线程效率不高,我们可以使用 MySQL 5.7 推出的 MTS 多线程复...

oracle跟踪会话级别的10046事件

1.开启10046跟踪事件alter session set events '10046 trace name context forever, level 12';2.执行要跟踪的sql语句sele...

MySQL运维实战(4.7) SQL_MODE之ANSI_QUOTES

默认情况下,mysql使用反引号(`)作为标识符的引号。使用mysql关键字作为表名、字段名会报语法错误,这时可以加上反引号( `),避免报错。设置ANSI_QUOTES后,使用双引号(")...

CDH 5.16.2原地升级到CDP7.1.7

CDH 5.16.2原地升级到CDP7.1.7

1 升级Cloudera管理器1.1 升级Cloudera管理器准备1.1.1.1 关闭cloudera上托管的组件1.1.1.2 关闭Cloudera management service服务检查o...

压测实操--produce压测方案

压测实操--produce压测方案

环境信息:操作系统centos7.9,kafka版本为hdp集群中的2.0版本。 Producer相关参数使用Kafka自带的kafka-producer-perf-test.sh脚本进行压测,该脚本...

离线安装Kerberos

首先下载kerberos客户端所需rpm包在网站https://pkgs.org/搜索以下3个rpm包:https://pkgs.org/libkadm5krb5-libskrb5-workstati...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。