Hive元数据表解析

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.mzph.cn/news/888526.shtml

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

相关文章

sql删除冗余数据

工作或面试中经常能遇见一种场景题:删除冗余的数据,以下是举例介绍相应的解决办法。 举例: 表结构: 解法1:子查询 获取相同数据中id更小的数据项,再将id不属于其中的数据删除。-- 注意:mysql中…

数据链路层(四)---PPP协议的工作状态

1 PPP链路的初始化 通过前面几章的学习,我们学了了PPP协议帧的格式以及组成,那么对于使用PPP协议的链路是怎么初始化的呢? 当用户拨号上网接入到ISP后,就建立起了一条个人用户到ISP的物理链路。这时,用户向ISP发送一…

基于“微店 Park”模式下 2+1 链动模式商城小程序的创新发展与应用研究

摘要:本文以“微店 Park”从“开店工具”向“众创平台”的转型为背景,深入探讨 21 链动模式商城小程序在该平台情境下的应用潜力与创新发展路径。通过剖析“微店 Park”的运营模式,包括灵活承租、低成本入驻、多元流量引流等特点,…

4k4d 学习安装笔记

目录 这个博文讲解不错: 服务器上: https://github.com/zju3dv/4K4D?tabreadme-ov-file 安装: GitHub - zju3dv/EasyVolcap: [SIGGRAPH Asia 2023 (Technical Communications)] EasyVolcap: Accelerating Neural Volumetric Video Resear…

《船舶物资与市场》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问:《船舶物资与市场》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《船舶物资与市场》级别? 答:国家级。主管单位:中国船舶集团有限公司 主办单…

【QNX+Android虚拟化方案】127 - QNX侧 uart 读写程序分析

【QNX+Android虚拟化方案】127 - QNX侧 uart 读写程序分析 一、 QNX侧 uart 读写程序分析基于原生纯净代码,自学总结 纯技术分享,不会也不敢涉项目、不泄密、不传播代码文档!!! 本文禁止转载分享 !!! 汇总链接:《【QNX+Android虚拟化方案】00 - 系列文章链接汇总》 本…

蓝桥杯-扫雷

这题不难,就是麻烦一点,这里暴力求解了直接 题目链接: 扫雷 AC代码: import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan ne…

2024年认证杯SPSSPRO杯数学建模B题(第一阶段)神经外科手术的定位与导航解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 B题 神经外科手术的定位与导航 原题再现: 人的大脑结构非常复杂,内部交织密布着神经和血管,所以在大脑内做手术具有非常高的精细和复杂程度。例如神经外科的肿瘤切除手术或血肿清除手术,通常需要…

360 C++后台开发面试题及参考答案

C++ 的多态怎么实现,底层原理是什么? 在 C++ 中,多态主要通过虚函数来实现。当一个类中有虚函数时,编译器会为这个类创建一个虚函数表(v - table)。这个虚函数表本质上是一个函数指针数组,其中存储了该类所有虚函数的地址。 例如,假设有一个基类Base和一个派生类Derive…

深度学习中的图片分类:ResNet 模型详解及代码实现

深度学习中的图片分类:ResNet 模型详解及代码实现 图片分类是计算机视觉中的一个经典任务,近年来随着深度学习的发展,这一领域涌现了许多强大的模型。其中,ResNet(Residual Network) 因其解决了深度神经网络训练困难的问题而备受关注。本文将介绍 ResNet 模型的基本原理…

async-sockets-cpp 嵌入式开发板实现简单socket客户端服务器

GitHub - eminfedar/async-sockets-cpp: Simple thread-based asynchronous TCP & UDP Socket classes in C. 下载下来后,进入examples目录,然后执行make 执行./tcp-server启动服务器 执行./tcp-client启动客户端 FR:徐海涛(hunkxu)

ElementUI 问题清单

1、form 下面只有一个 input 时回车键刷新页面 原因是触发了表单默认的提交行为&#xff0c;给el-form 加上submit.native.prevent就行了。 <el-form inline submit.native.prevent><el-form-item label"订单号"><el-inputv-model"query.order…

vulnhub靶场之momentum-2

前言 靶机采用virtual box虚拟机&#xff0c;桥接网卡 攻击采用VMware虚拟机&#xff0c;桥接网卡 靶机&#xff1a;momentum-2 192.168.1.40 攻击&#xff1a;kali 192.168.1.16 主机发现 使用arp-scan -l扫描 信息收集 使用namp扫描 这里的命令对目标进行vulner中的漏…

什么算法可用于语义分割和实例分割

语义分割和实例分割是计算机视觉中的两大重要任务。以下是常用算法的分类和应用情况&#xff1a; 语义分割算法 语义分割的目标是为图像中的每个像素分配一个语义类别标签。 1. 经典卷积神经网络&#xff08;CNN&#xff09;算法 FCN&#xff08;Fully Convolutional Network…

TCP 的三次握手

TCP 的三次握手 1. TCP 三次握手&#xff08;Three-Way Handshake&#xff09; 目的&#xff1a;三次握手的目的是为了在客户端和服务端之间建立可靠的 TCP 连接&#xff0c;确保双方能够同步&#xff0c;并且为数据传输做好准备。 三次握手的过程&#xff1a; 第一次握手&am…

Python语法基础---正则表达式

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 我们这个文章所讲述的&#xff0c;也是数据分析的基础文章&#xff0c;正则表达式 首先&#xff0c;我们在开始之前&#xff0c;引出一个问题。也是我们接下来想要解决的问题。…

HTML5系列(8)-- 离线应用指南

前端技术探索系列&#xff1a;HTML5 离线应用指南 &#x1f310; 致读者&#xff1a;构建可靠的离线体验 &#x1f44b; 前端开发者们&#xff0c; 在现代 Web 开发中&#xff0c;离线应用已成为提升用户体验的重要组成部分。今天&#xff0c;我们将探索 HTML5 提供的离线技…

小家电出海,沃丰科技助力保障售后服务的及时性与高效性

随着全球化步伐的加快&#xff0c;小家电行业也逐渐迈向国际市场&#xff0c;面向全球消费者提供服务。然而&#xff0c;跨国界的销售和服务挑战也随之而来&#xff0c;尤其是售后服务的及时性与高效性成为了企业亟需解决的问题。沃丰科技凭借其全渠道在线客服、工单系统和视频…

Vulnhub靶场 Matrix-Breakout: 2 Morpheus 练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 文件上传2. 提权 0x04 总结 0x00 准备 下载连接&#xff1a;https://download.vulnhub.com/matrix-breakout/matrix-breakout-2-morpheus.ova 介绍&#xff1a; This is the second in the Matrix-Br…

2020 年 12 月青少年软编等考 C 语言四级真题解析

目录 T1. 开餐馆思路分析T2. 邮票收集思路分析T3. 带通配符的字符串匹配思路分析T4. 删除数字思路分析T1. 开餐馆 北大信息学院的同学小明毕业之后打算创业开餐馆。现在共有 n n n 个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 n n n 个地点排列在同一条直线…