Hive元数据表解析

news2024/12/27 5:22:36

cdh版本的hive元数据表可能和apache hive有一定区别,不过大同小异,在这里介绍 1.1.0-cdh5.12.0版本的hive元数据表。hive元数据存储在mysql的metastore库里。以_PRIVS结尾的权限信息相关表都需要在hive里使用grant授权才会产生,如果结合sentry来做权限信息,相关数据不会保存在这里,而是保存到了sentry的元数据库里。要想做元数据管理,可以通过以下这些表做关联查询查到需要的信息。

1. 常用表概览

表名描述
BUCKETING_COLS表bucket字段信息
CDS表字段id,单个字段,CD_ID
COLUMNS_V2表字段相关的信息
DATABASE_PARAMS数据库的属性信息
DBS数据库信息
DB_PRIVS数据库权限信息,通过GRANT语句对数据库授权后,将会在这里存储
FUNCS用户注册的函数信息
FUNC_RU用户注册函数的资源信息,比如jar包等
GLOBAL_PRIVS全局权限信息
IDXS索引相关的信息
INDEX_PARAMS索引相关的属性信息
PARTITIONS分区信息
PARTITION_KEYS分区字段列
PARTITION_KEY_VALS分区的值
PARTITION_PARAMS分区属性信息,比如文件数、文件大小、记录数等
PART_COL_PRIVS分区字段的权限信息
PART_COL_STATS分区字段的统计信息
PART_PRIVS分区的权限信息
ROLES角色表
ROLE_MAP角色映射表
SDS表存储的相关信息,比如文件格式、位置、压缩、序列化等信息
SD_PARAMS表存储的属性,STORED BY ‘storage.handler.class.name’ [WITH SERDEPROPERTIES (…)指定。
SEQUENCE_TABLEsqeuence相关信息
SERDES列化反序列化使用的类信息
SERDE_PARAMS序列化反序列化的属性
SKEWED_COL_NAMES倾斜列名信息,建表时指定了SKEWED BY (col_name, col_name, ...)                  -- (Note: Available in Hive 0.10.0 and later)]
     ON ((col_value, col_value, ...), (col_value, col_value, ...), ...)
SKEWED_COL_VALUE_LOC_MAP倾斜列的位置映射
SKEWED_STRING_LIST保存了SKEWED_STRING_LIST_VALUES的id值
SKEWED_STRING_LIST_VALUES保存了倾斜列的值
SKEWED_VALUES保存了SDS的SD_ID和SKEWED_STRING_LIST_VALUES的STRING_LIST_ID映射关系
SORT_COLS排序字段,包含字段名、排序方式等
TABLE_PARAMS表属性相关信息
TAB_COL_STATS表中字段的统计信息
TBLS表相关信息
TBL_COL_PRIVS表中字段的权限信息
TBL_PRIVS表权限信息
VERSIONhive版本

2. 存储Hive版本相关的元数据表

VERSION

+-------------------+--------------+------+-----+---------+-------+
| Field             | Type         | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| VER_ID            | bigint(20)   | NO   | PRI | NULL    |       |
| SCHEMA_VERSION    | varchar(127) | NO   |     | NULL    | hive版本
| VERSION_COMMENT   | varchar(255) | YES  |     | NULL    |       |
| SCHEMA_VERSION_V2 | varchar(255) | YES  |     | NULL    |       |
+-------------------+--------------+------+-----+---------+-------+

3. Hive数据库相关的元数据表

DBS

DBS-存储Hive中所有数据库的基本信息

+-----------------+---------------+------+-----+---------+-------+
| Field           | Type          | Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+-------+
| DB_ID           | bigint(20)    | NO   | PRI | NULL    | 数据库id      
| DESC            | varchar(4000) | YES  |     | NULL    | 数据库描述      
| DB_LOCATION_URI | varchar(4000) | NO   |     | NULL    | 数据库HDFS路径      
| NAME            | varchar(128)  | YES  | UNI | NULL    | 数据库名      
| OWNER_NAME      | varchar(128)  | YES  |     | NULL    | 数据库所有者用户名      
| OWNER_TYPE      | varchar(10)   | YES  |     | NULL    | 所有者角色      
+-----------------+---------------+------+-----+---------+-------+

DATABASE_PARAMS

DATABASE_PARAMS-存储数据库的属性

+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| DB_ID       | bigint(20)    | NO   | PRI | NULL    | 数据库id      
| PARAM_KEY   | varchar(180)  | NO   | PRI | NULL    | 属性名      
| PARAM_VALUE | varchar(4000) | YES  |     | NULL    | 属性值      
+-------------+---------------+------+-----+---------+-------+

DB_PRIVS

DB_PRIVS-存储数据库的权限相关信息

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| DB_GRANT_ID    | bigint(20)   | NO   | PRI | NULL    | 库授权id      
| CREATE_TIME    | int(11)      | NO   |     | NULL    | 创建时间      
| DB_ID          | bigint(20)   | YES  | MUL | NULL    | 数据库id      
| GRANT_OPTION   | smallint(6)  | NO   |     | NULL    | 授权操作      
| GRANTOR        | varchar(128) | YES  |     | NULL    | 授权人      
| GRANTOR_TYPE   | varchar(128) | YES  |     | NULL    | 授权人类型      
| PRINCIPAL_NAME | varchar(128) | YES  |     | NULL    | PRINCIPAL名      
| PRINCIPAL_TYPE | varchar(128) | YES  |     | NULL    | PRINCIPAL类型      
| DB_PRIV        | varchar(128) | YES  |     | NULL    | 权限      
+----------------+--------------+------+-----+---------+-------+

DBS和 DATABASE_PARAMS 这两张表通过DB_ID字段关联。 

4. Hive表和视图相关的元数据表

TBLS

TBLS-存储Hive表、视图、索引表的基本信息

+--------------------+--------------+------+-----+---------+-------+
| Field              | Type         | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| TBL_ID             | bigint(20)   | NO   | PRI | NULL    | 表id      
| CREATE_TIME        | int(11)      | NO   |     | NULL    | 创建时间      
| DB_ID              | bigint(20)   | YES  | MUL | NULL    | 数据库id      
| LAST_ACCESS_TIME   | int(11)      | NO   |     | NULL    | 上次访问时间      
| OWNER              | varchar(767) | YES  |     | NULL    | 所有者      
| RETENTION          | int(11)      | NO   |     | NULL    | 保留字段      
| SD_ID              | bigint(20)   | YES  | MUL | NULL    | 序列化表id,对应SDS表中的SD_ID      
| TBL_NAME           | varchar(128) | YES  | MUL | NULL    | 表名      
| TBL_TYPE           | varchar(128) | YES  |     | NULL    | 表类型      
| VIEW_EXPANDED_TEXT | mediumtext   | YES  |     | NULL    | 视图的详细HQL语句      
| VIEW_ORIGINAL_TEXT | mediumtext   | YES  |     | NULL    | 视图的原始HQL语句	      
| LINK_TARGET_ID     | bigint(20)   | YES  | MUL | NULL    |       
+--------------------+--------------+------+-----+---------+-------+

TABLE_PARAMS

TABLE_PARAMS-存储表/视图的属性信息

+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| TBL_ID      | bigint(20)    | NO   | PRI | NULL    | 表id      
| PARAM_KEY   | varchar(256)  | NO   | PRI | NULL    | 属性名      
| PARAM_VALUE | varchar(4000) | YES  |     | NULL    | 属性值      
+-------------+---------------+------+-----+---------+-------+

TBL_PRIVS

TBL_PRIVS-存储表/视图的授权信息

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| TBL_GRANT_ID   | bigint(20)   | NO   | PRI | NULL    | 表授权id      
| CREATE_TIME    | int(11)      | NO   |     | NULL    | 创建时间      
| GRANT_OPTION   | smallint(6)  | NO   |     | NULL    | 授权操作      
| GRANTOR        | varchar(128) | YES  |     | NULL    | 授权人      
| GRANTOR_TYPE   | varchar(128) | YES  |     | NULL    | 授权人类型      
| PRINCIPAL_NAME | varchar(128) | YES  |     | NULL    | PRINCIPAL名      
| PRINCIPAL_TYPE | varchar(128) | YES  |     | NULL    | PRINCIPAL类型      
| TBL_PRIV       | varchar(128) | YES  |     | NULL    | 权限信息      
| TBL_ID         | bigint(20)   | YES  | MUL | NULL    | 表id      
+----------------+--------------+------+-----+---------+-------+

 TBLS、TABLE_PARAMS、TBL_PRIVS这几张表通过TBL_ID关联

5. Hive表字段相关的元数据表

CDS

CDS-只有一个字段,字段id

+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| CD_ID | bigint(20) | NO   | PRI | NULL    | 字段id      
+-------+------------+------+-----+---------+-------+

COLUMNS_V2

COLUMNS_V2-存储表对应的字段信息

+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CD_ID       | bigint(20)    | NO   | PRI | NULL    | 字段信息id,对应CDS表      
| COMMENT     | varchar(256)  | YES  |     | NULL    | 字段注释      
| COLUMN_NAME | varchar(128)  | NO   | PRI | NULL    | 字段名      
| TYPE_NAME   | varchar(4000) | YES  |     | NULL    | 字段类型      
| INTEGER_IDX | int(11)       | NO   |     | NULL    | 字段顺序      
+-------------+---------------+------+-----+---------+-------+

6. Hive表分区相关的元数据表

PARTITIONS

PARTITIONS-存储表分区的基本信息

+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| PART_ID          | bigint(20)   | NO   | PRI | NULL    | 分区id      
| CREATE_TIME      | int(11)      | NO   |     | NULL    | 创建时间      
| LAST_ACCESS_TIME | int(11)      | NO   |     | NULL    | 上次访问时间      
| PART_NAME        | varchar(767) | YES  | MUL | NULL    | 分区名      
| SD_ID            | bigint(20)   | YES  | MUL | NULL    | 存储信息id,对应SDS的SD_ID      
| TBL_ID           | bigint(20)   | YES  | MUL | NULL    | 表id      
| LINK_TARGET_ID   | bigint(20)   | YES  | MUL | NULL    |       
+------------------+--------------+------+-----+---------+-------+

PARTITION_KEYS

PARTITION_KEYS-存储分区的字段信息

+--------------+---------------+------+-----+---------+-------+
| Field        | Type          | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| TBL_ID       | bigint(20)    | NO   | PRI | NULL    | 表id      
| PKEY_COMMENT | varchar(4000) | YES  |     | NULL    | 分区字段注释      
| PKEY_NAME    | varchar(128)  | NO   | PRI | NULL    | 分区字段名      
| PKEY_TYPE    | varchar(767)  | NO   |     | NULL    | 分区字段类型      
| INTEGER_IDX  | int(11)       | NO   |     | NULL    | 分区字段顺序      
+--------------+---------------+------+-----+---------+-------+

PARTITION_KEY_VALS

PARTITION_KEY_VALS-存储分区字段值

+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| PART_ID      | bigint(20)   | NO   | PRI | NULL    | 分区id      
| PART_KEY_VAL | varchar(256) | YES  |     | NULL    | 分区字段值      
| INTEGER_IDX  | int(11)      | NO   | PRI | NULL    | 分区字段顺序      
+--------------+--------------+------+-----+---------+-------+

PARTITION_PARAMS

PARTITION_PARAMS-存储分区的属性信息

+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| PART_ID     | bigint(20)    | NO   | PRI | NULL    | 分区id      
| PARAM_KEY   | varchar(256)  | NO   | PRI | NULL    | 分区属性名      
| PARAM_VALUE | varchar(4000) | YES  |     | NULL    | 分区属性值      
+-------------+---------------+------+-----+---------+-------+

 PARTITIONS、PARTITION_KEY_VALS、PARTITION_PARAMS这几张表通过PART_ID关联

7. Hive文件存储信息相关的元数据表

SDS

SDS-保存文件存储的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否压缩等。

+---------------------------+---------------+------+-----+---------+-------+
| Field                     | Type          | Null | Key | Default | Extra |
+---------------------------+---------------+------+-----+---------+-------+
| SD_ID                     | bigint(20)    | NO   | PRI | NULL    | 存储信息id,对应SDS的SD_ID      
| CD_ID                     | bigint(20)    | YES  | MUL | NULL    | 字段id,对应CDS的CD_ID      
| INPUT_FORMAT              | varchar(4000) | YES  |     | NULL    | 文件输入格式      
| IS_COMPRESSED             | bit(1)        | NO   |     | NULL    | 是否压缩      
| IS_STOREDASSUBDIRECTORIES | bit(1)        | NO   |     | NULL    | 是否以子目录存储      
| LOCATION                  | varchar(4000) | YES  |     | NULL    | hdfs路径      
| NUM_BUCKETS               | int(11)       | NO   |     | NULL    | 分桶数      
| OUTPUT_FORMAT             | varchar(4000) | YES  |     | NULL    | 文件输出格式       
| SERDE_ID                  | bigint(20)    | YES  | MUL | NULL    | 序列化id,对应SERDES的SERDE_ID      
+---------------------------+---------------+------+-----+---------+-------+

SD_PARAMS

SD_PARAMS-存储Hive存储的属性信息

+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| SD_ID       | bigint(20)    | NO   | PRI | NULL    | 存储信息id      
| PARAM_KEY   | varchar(256)  | NO   | PRI | NULL    | 属性名      
| PARAM_VALUE | varchar(4000) | YES  |     | NULL    | 属性值      
+-------------+---------------+------+-----+---------+-------+

SERDES

SERDES-存储序列化使用的类信息

+----------+---------------+------+-----+---------+-------+
| Field    | Type          | Null | Key | Default | Extra |
+----------+---------------+------+-----+---------+-------+
| SERDE_ID | bigint(20)    | NO   | PRI | NULL    | 序列化id     
| NAME     | varchar(128)  | YES  |     | NULL    | 序列化类别名     
| SLIB     | varchar(4000) | YES  |     | NULL    | 序列化类     
+----------+---------------+------+-----+---------+-------+

SERDE_PARAMS

SERDE_PARAMS-存储序列化的属性

+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| SERDE_ID    | bigint(20)    | NO   | PRI | NULL    | 序列化id      
| PARAM_KEY   | varchar(256)  | NO   | PRI | NULL    | 属性名      
| PARAM_VALUE | varchar(4000) | YES  |     | NULL    | 属性值      
+-------------+---------------+------+-----+---------+-------+

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2251827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web安全从0到1:burp-suite3

声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&a…

深度学习:梯度下降法

损失函数 L:衡量单一训练样例的效果。 成本函数 J:用于衡量 w 和 b 的效果。 如何使用梯度下降法来训练或学习训练集上的参数w和b ? 成本函数J是参数w和b的函数,它被定义为平均值; 损失函数L可以衡量你的算法效果&a…

Linux:文件系统inode

早期,存储文件的设备是磁盘(当下的市场几乎都是SSD),但大家习惯的把它们都称为磁盘,磁盘是用来表示区分内存的存储设备。而在操作系统看来,这个存储设备的结构就是一个线性结构,这一点很重要。 …

94.【C语言】解析预处理(2)

目录 1.带有副作用的宏参数 代码 一个判断最大值的宏代码 运行结果 分析 "副作用"的解释 2.宏替换规则 解释 3.宏和函数的对比 附一张对比表 承接93.【C语言】解析预处理(1)文章 1.带有副作用的宏参数 代码 一个判断最大值的宏代码 #define MAX(a, b) (…

Linux学习笔记12 systemd的其他命令

前文已经介绍了systemd在系统初始化中起到的作用和服务的管理和配置。这里补充一下systemd的其他工具和系统进程的管理 前文 Linux学习笔记10 系统启动初始化,服务和进程管理(上)-CSDN博客 Linux学习笔记11 系统启动初始化,服务…

vue3+ts+uniapp微信小程序顶部导航栏

这是colorui改的&#xff0c;不用就不用看啦 color-ui(https://docs.xzeu.com/#/) 新建component文件夹创建topNavigation.vue <template><view><view class"cu-custom" :style"height: CustomBar px"><view class"cu-bar…

ubuntu20.04更换安装高版本CUDA以及多个CUDA版本管理

Ubuntu 20.04下多版本CUDA的安装与切换 CUDA安装配置环境变量软连接附上参考博客CUDA安装 cuda官方下载地址 因为我需要安装的是11.1版本的,所以这里按着11.1举例安装 安装命令如下: wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cu…

C语言——库函数

常用的函数 https://cplusplus.com/reference/ 没事儿多看看 1 数学函数 #include <math.h> #include <stdio.h> int main() {printf("%lf\n", sqrt(4));//开平方根——>double类型printf("%lf\n", pow(2, 10));//求几次方的——>do…

树莓派远程连接方法

1、树莓派端 在树莓派终端&#xff08;Ctrl键alt键T键&#xff09;输入&#xff1a; ipconfig 查看树莓派的IP&#xff0c;记住这个IP号&#xff0c;都是192.168开头的 注意&#xff0c;这里远程连接需要树莓派和电脑在同一网络之下才可以 2、电脑端 我们在电脑上面下载 M…

qt QProxyStyle详解

1、概述 QProxyStyle是Qt框架中QStyle类的一个子类&#xff0c;它提供了一种代理机制&#xff0c;允许开发者在不直接修改现有样式&#xff08;QStyle&#xff09;实现的情况下&#xff0c;对样式行为进行定制或扩展。通过继承QProxyStyle&#xff0c;开发者可以重写其虚方法&…

TCP三次握手与四次挥手(TCP重传机制,2MSL)超详细!!!计算机网络

本篇是关于3次握手和四次挥手的详细解释~ 如果对你有帮助&#xff0c;请点个免费的赞吧&#xff0c;谢谢汪。&#xff08;点个关注也可以&#xff01;&#xff09; 如果以下内容需要补充和修改&#xff0c;请大家在评论区多多交流~。 目录 1. TCP头部&#xff1a; 2. 三次握手…

智能化业务校验框架:动态设计与应用实践

目录 一、业务背景 二、配置内容展示 三、商品动态配置内容展示 &#xff08;一&#xff09;商品spu校验信息数据 &#xff08;二&#xff09;商品sku校验信息数据 &#xff08;三&#xff09;组包商品校验信息数据 &#xff08;四&#xff09;商品数据校验数据持有者 &…

蓝桥杯每日真题 - 第23天

题目&#xff1a;&#xff08;直线&#xff09; 题目描述&#xff08;12届 C&C B组C题&#xff09; 解题思路&#xff1a; 题目理解: 在平面直角坐标系中&#xff0c;从给定的点集中确定唯一的直线。 两点确定一条直线&#xff0c;判断两条直线是否相同&#xff0c;可通过…

设计模式---建造者模式

建造者模式 一种创建型设计模式&#xff0c;它允许你一步一步地构建复杂对象。通过使用建造者模式&#xff0c;你可以将对象的构建过程与其表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。说白点就是&#xff0c;解决了构造函数创建对象的问题。 适用于那种构造函…

【北京迅为】iTOP-4412全能版使用手册-第二十章 搭建和测试NFS服务器

iTOP-4412全能版采用四核Cortex-A9&#xff0c;主频为1.4GHz-1.6GHz&#xff0c;配备S5M8767 电源管理&#xff0c;集成USB HUB,选用高品质板对板连接器稳定可靠&#xff0c;大厂生产&#xff0c;做工精良。接口一应俱全&#xff0c;开发更简单,搭载全网通4G、支持WIFI、蓝牙、…

Python小黄人

文章目录 系列目录写在前面完整代码代码分析1. 初始化部分2. 身体部分3. 右眼睛部分4. 左眼睛部分5. 嘴巴部分6. 裤子部分7. 脚部部分8. 手部部分9. 头顶装饰部分10. 代码总结 写在后面 系列目录 序号直达链接爱心系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码…

操作系统 | 学习笔记 | 王道 | 2.2处理机调度

2.2 处理机调度 文章目录 2.2 处理机调度2.2.1 调度的概念2.2.2 调度的目标2.2.3 调度的实现2.2.4 典型的调度算法错题总结&#xff1a; 2.2.1 调度的概念 调度的基本概念 处理机调度是对处理机进行分配&#xff0c;即从就绪队列中按照一定的算法&#xff08;公平、高效的原则&…

算法与数据结构(1)

一&#xff1a;数据结构概论 数据结构分为初阶数据结构&#xff08;主要由C语言实现&#xff09;和高阶数据结构&#xff08;由C实现&#xff09; 初阶数据结构当中&#xff0c;我们会学到顺序表、链表、栈和队列、二叉树、常见排序算法等内容。 高阶数据结构当中&#xff0…

【Android】EventBus的使用及源码分析

文章目录 介绍优点基本用法线程模式POSTINGMAINMAIN_ORDEREDBACKGROUNDASYNC 黏性事件 源码注册getDefault()registerfindSubscriberMethods小结 postpostStickyunregister 介绍 优点 简化组件之间的通信 解耦事件发送者和接收者在 Activity、Fragment 和后台线程中表现良好避…

深度学习笔记——生成对抗网络GAN

本文详细介绍早期生成式AI的代表性模型&#xff1a;生成对抗网络GAN。 文章目录 一、基本结构生成器判别器 二、损失函数判别器生成器交替优化目标函数 三、GAN 的训练过程训练流程概述训练流程步骤1. 初始化参数和超参数2. 定义损失函数3. 训练过程的迭代判别器训练步骤生成器…