我是靠谱客的博主 时尚小白菜,最近开发中收集的这篇文章主要介绍生成Hive数据字典(一目了然,史上最全),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

生产中Hive的元数据存储在MySQL中,构建数据字典我们可以通过查询元数据表,导出查询结果后生成自己想要的文档。
下面我会一步一步介绍如何生成markdown格式的数据字典文档。

 

定义SQL

首先废话不多说,贴出我们需要的在MySQL中使用的SQL。

 

SELECT
    a. NAME as SCHEMA_NAME,-- 数据库名称
    t.TBL_NAME as TABLE_NAME,-- 表名
    b.PARAM_VALUE as TABLE_COMMENT,-- 表注释
    e.INTEGER_IDX as COLUMN_ID,-- 字段序号
    e.COLUMN_NAME ,-- 字段名
    e.TYPE_NAME as COLUMN_DATA_TYPE,-- 字段类型
    f.PART_KEYS as PART_COLUMN,-- 分区字段
    e.COMMENT-- 字段注释
FROM
    TBLS t
    JOIN DBS a ON t.DB_ID = a.DB_ID
    LEFT JOIN (select TBL_ID,PARAM_VALUE FROM TABLE_PARAMS where PARAM_KEY='comment') b ON t.TBL_ID = b.TBL_ID
    LEFT JOIN SDS c ON t.SD_ID = c.SD_ID
    LEFT JOIN CDS d ON c.CD_ID = d.CD_ID
    LEFT JOIN COLUMNS_V2 e ON d.CD_ID = e.CD_ID
    LEFT JOIN (SELECT TBL_ID,GROUP_CONCAT(PKEY_NAME) AS PART_KEYS FROM PARTITION_KEYS  GROUP BY TBL_ID) f on t.TBL_ID = f.TBL_ID
    // where a. NAME = 'hive库名' 此处选择你需要的库
    order by 1,2,4

TBLS表存储Hive表信息
DBS表存储Hive库信息
TABLE_PARAMS表存储Hive表的一些参数信息
COLUMNS_V2表存储Hive表的字段信息
PARTITION_KEYS表存储表的分区字段
至于这些表为什么这么关联,大家可以使用Navicat的逆向数据库到模型功能查看
 

 

最后

以上就是时尚小白菜为你收集整理的生成Hive数据字典(一目了然,史上最全)的全部内容,希望文章能够帮你解决生成Hive数据字典(一目了然,史上最全)所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部