我是靠谱客的博主 怕孤单百褶裙,最近开发中收集的这篇文章主要介绍基于hive数仓的数据字典查询,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

SELECT
	D.NAME AS SCHEMA_NAME, -- 数据库名称
	T.TBL_NAME AS TABLE_NAME_EN, -- 表名
	P.PARAM_VALUE AS TABLE_NAME_CN,
	C.INTEGER_IDX AS COLUMN_ID, -- 字段序号
	C.COLUMN_NAME AS COLUMN_NAME_EN, -- 字段名
	C.COMMENT AS COLUMN_NAME_CN, -- 字段备注
	C.TYPE_NAME AS COLUMN_DATA_TYPE, -- 字段类型
	PART_KEYS AS PART_COLUMN -- 分区字段
FROM
	DBS D -- 数据库
	JOIN TBLS T  -- 表
	ON D.DB_ID = T.DB_ID AND  D.NAME='${schema_name}'
	LEFT JOIN TABLE_PARAMS P -- 表属性
	ON T.TBL_ID=P.TBL_ID AND P.PARAM_KEY='comment'
	LEFT JOIN SDS S  -- 字段与表的关联关系
	ON T.SD_ID = S.SD_ID 
	LEFT JOIN COLUMNS_V2 C  -- 字段
	ON S.CD_ID = C.CD_ID
	LEFT JOIN (SELECT TBL_ID,GROUP_CONCAT(PKEY_NAME) AS PART_KEYS FROM PARTITION_KEYS  GROUP BY TBL_ID) K  -- 字段
	ON T.TBL_ID = K.TBL_ID
ORDER BY
	T.SD_ID,
	C.INTEGER_IDX;
SELECT
	D.NAME AS SCHEMA_NAME, -- 数据库名称
	T.TBL_NAME AS TABLE_NAME_EN, -- 表名
	P.PARAM_VALUE AS TABLE_NAME_CN,
	C.INTEGER_IDX AS COLUMN_ID, -- 字段序号
	C.COLUMN_NAME AS COLUMN_NAME_EN, -- 字段名
	C.COMMENT AS COLUMN_NAME_CN, -- 字段备注
	C.TYPE_NAME AS COLUMN_DATA_TYPE, -- 字段类型
	PART_KEYS AS PART_COLUMN -- 分区方式
FROM
	DBS D -- 数据库
	JOIN TBLS T  -- 表
	ON D.DB_ID = T.DB_ID AND  D.NAME='${schema_name}'
	LEFT JOIN TABLE_PARAMS P -- 表属性
	ON T.TBL_ID=P.TBL_ID AND P.PARAM_KEY='comment'
	LEFT JOIN SDS S  -- 字段与表的关联关系
	ON T.SD_ID = S.SD_ID 
	LEFT JOIN COLUMNS_V2 C  -- 字段
	ON S.CD_ID = C.CD_ID
	LEFT JOIN (SELECT TBL_ID,GROUP_CONCAT(concat(PKEY_NAME,' ',PKEY_TYPE,' comment ''',PKEY_COMMENT,'''' )) AS PART_KEYS FROM PARTITION_KEYS  GROUP BY TBL_ID) K  -- 字段
	ON T.TBL_ID = K.TBL_ID
ORDER BY
	T.SD_ID,
	C.INTEGER_IDX;

最后

以上就是怕孤单百褶裙为你收集整理的基于hive数仓的数据字典查询的全部内容,希望文章能够帮你解决基于hive数仓的数据字典查询所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部