本文介绍Hive元数据库中一些重要的表结构及用途,方便Impala、SparkSQL、Hive等组件访问元数据库的理解。

1、存储Hive版本的元数据表(VERSION)

该表比较简单,但很重要。

VER_ID

SCHEMA_VERSION

VERSION_COMMENT

ID主键

Hive版本

版本说明

1

1.1.0

Set  by MetaStore

如果该表出现问题,根本进入不了Hive-Cli。比如该表不存在,当启动Hive-Cli时候,就会报错”Table ‘hive.version’ doesn’t exist”。

2、Hive数据库相关的元数据表(DBS、DATABASE_PARAMS)

DBS:该表存储Hive中所有数据库的基本信息,字段如下:

表字段

说明

示例数据

DB_ID

数据库ID

1

DESC

数据库描述

Default  Hive database

DB_LOCATION_URI

数据HDFS路径

hdfs://193.168.1.75:9000/test-warehouse

NAME

数据库名

default

OWNER_NAME

数据库所有者用户名

public

OWNER_TYPE

所有者角色

ROLE

DATABASE_PARAMS:该表存储数据库的相关参数,在CREATE DATABASE时候用WITH DBPROPERTIES(property_name=property_value, …)指定的参数。

表字段

说明

示例数据

DB_ID

数据库ID

1

PARAM_KEY

参数名

createdby

PARAM_VALUE

参数值

root

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

3、Hive表和视图相关的元数据表

主要有TBLS、TABLE_PARAMS、TBL_PRIVS,这三张表通过TBL_ID关联。

TBLS:该表中存储Hive表,视图,索引表的基本信息

表字段

说明

示例数据

TBL_ID

表ID

21

CREATE_TIME

创建时间

1447675704

DB_ID

数据库ID

1

LAST_ACCESS_TIME

上次访问时间

1447675704

OWNER

所有者

root

RETENTION

保留字段

0

SD_ID

序列化配置信息

41,对应SDS表中的SD_ID

TBL_NAME

表名

ex_detail_ufdr_30streaming

TBL_TYPE

表类型

EXTERNAL_TABLE

VIEW_EXPANDED_TEXT

视图的详细HQL语句

 

VIEW_ORIGINAL_TEXT

视图的原始HQL语句

 

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

表字段

说明

示例数据

TBL_ID

表ID

1

PARAM_KEY

属性名

totalSize,numRows,EXTERNAL

PARAM_VALUE

属性值

970107336、21231028、TRUE

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

表字段

说明

示例数据

TBL_GRANT_ID

授权ID

1

CREATE_TIME

授权时间

1436320455

GRANT_OPTION

 

0

GRANTOR

授权执行用户

root

GRANTOR_TYPE

授权者类型

USER

PRINCIPAL_NAME

被授权用户

username

PRINCIPAL_TYPE

被授权用户类型

USER

TBL_PRIV

权限

Select、Alter

TBL_ID

表ID

21,对应TBLS表的TBL_ID

4、Hive文件存储信息相关的元数据表

主要涉及SDS、SD_PARAMS、SERDES、SERDE_PARAMS,由于HDFS支持的文件格式很多,而建Hive表时候也可以指定各种文件格式,Hive在将HQL解析成MapReduce时候,需要知道去哪里,使用哪种格式去读写HDFS文件,而这些信息就保存在这几张表中。

SDS:

该表保存文件存储的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否压缩等。TBLS表中的SD_ID与该表关联,可以获取Hive表的存储信息。

表字段

说明

示例数据

SD_ID

存储信息ID

41

CD_ID

字段信息ID

21,对应CDS表

INPUT_FORMAT

文件输入格式

org.apache.hadoop.mapred.TextInputFormat

IS_COMPRESSED

是否压缩

0

IS_STOREDASSUBDIRECTORIES

是否以子目录存储

0

LOCATION

HDFS路径

hdfs://193.168.1.75:9000/detail_ufdr_streaming_test

NUM_BUCKETS

分桶数量

0

OUTPUT_FORMAT

文件输出格式

org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

SERDE_ID

序列化类ID

41,对应SERDES表

SD_PARAMS: 该表存储Hive存储的属性信息,在创建表时候使用STORED BY ‘storage.handler.class.name’ [WITH SERDEPROPERTIES (…)指定。

表字段

说明

示例数据

SD_ID

存储配置ID

41

PARAM_KEY

存储属性名

 

PARAM_VALUE

存储属性值

 

SERDES:该表存储序列化使用的类信息

表字段

说明

示例数据

SERDE_ID

序列化类配置ID

41

NAME

序列化类别名

NULL

SLIB

序列化类

org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

SERDE_PARAMS:该表存储序列化的一些属性、格式信息,比如:行、列分隔符

表字段

说明

示例数据

SERDE_ID

序列化类配置ID

41

PARAM_KEY

属性名

field.delim

PARAM_VALUE

属性值

|

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

主要涉及COLUMNS_V2

COLUMNS_V2:该表存储表对应的字段信息

表字段

说明

示例数据

CD_ID

字段信息ID

21

COMMENT

字段注释

NULL

COLUMN_NAME

字段名

air_port_duration

TYPE_NAME

字段类型

bigint

INTEGER_IDX

字段顺序

119

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

主要涉及PARTITIONS、PARTITION_KEYS、PARTITION_KEY_VALS、PARTITION_PARAMS

PARTITIONS:该表存储表分区的基本信息

表字段

说明

示例数据

PART_ID

分区ID

21

CREATE_TIME

分区创建时间

1450861405

LAST_ACCESS_TIME

最后一次访问时间

0

PART_NAME

分区名

hour=15/last_msisdn=0

SD_ID

分区存储ID

43

TBL_ID

表ID

22

LINK_TARGET_ID

 

NULL

PARTITION_KEYS:该表存储分区的字段信息

表字段

说明

示例数据

TBL_ID

表ID

22

PKEY_COMMENT

分区字段说明

NULL

PKEY_NAME

分区字段名

hour

PKEY_TYPE

分区字段类型

int

INTEGER_IDX

分区字段顺序

0

PARTITION_KEY_VALS:该表存储分区字段值

表字段

说明

示例数据

PART_ID

分区ID

21

PART_KEY_VAL

分区字段值

0

INTEGER_IDX

分区字段值顺序

1

PARTITION_PARAMS:该表存储分区的属性信息

表字段

说明

示例数据

PART_ID

分区ID

21

PARAM_KEY

分区属性名

numFiles,numRows

PARAM_VALUE

分区属性值

1,502195

6、其他不常用的元数据表

DB_PRIVS

数据库权限信息表。通过GRANT语句对数据库授权后,将会在这里存储。

IDXS

索引表,存储Hive索引相关的元数据

INDEX_PARAMS

索引相关的属性信息

TBL_COL_STATS

表字段的统计信息。使用ANALYZE语句对表字段分析后记录在这里

TBL_COL_PRIVS

表字段的授权信息

PART_PRIVS

分区的授权信息

PART_COL_PRIVS

分区字段的权限信息

PART_COL_STATS

分区字段的统计信息

FUNCS

用户注册的函数信息

FUNC_RU

用户注册函数的资源信息

hive元数据的更多相关文章

  1. 如何监听对 HIVE 元数据的操作

    目录 简介 HIVE 基本操作 获取 HIVE 源码 编译 HIVE 源码 启动 HIVE 停止 HIVE 监听对 HIVE 元数据的操作 参考文档 简介 公司有个元数据管理平台,会定期同步 HIVE ...

  2. hive元数据研究

    hive的元数据存放在关系型数据库中,元数据中存储了hive中所有表格的信息,包括表格的名字,表格的字段,字段的类型,注释.这些信息分散的存放在各个表中,给定一个hive中的表格名字,查询这个表中含有 ...

  3. spark on yarn模式下配置spark-sql访问hive元数据

    spark on yarn模式下配置spark-sql访问hive元数据 目的:在spark on yarn模式下,执行spark-sql访问hive的元数据.并对比一下spark-sql 和hive ...

  4. Hive元数据启动失败,端口被占用

    org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0. ...

  5. hive 元数据解析

    在使用Hive进行开发时,我们往往需要获得一个已存在hive表的建表语句(DDL),然而hive本身并没有提供这样一个工具. 要想还原建表DDL就必须从元数据入手,我们知道,hive的元数据并不存放在 ...

  6. Hive实现自增序列及常见的Hive元数据问题处理

    Hive实现自增序列 在利用数据仓库进行数据处理时,通常有这样一个业务场景,为一个Hive表新增一列自增字段(比如事实表和维度表之间的"代理主键").虽然Hive不像RDBMS如m ...

  7. Hive——元数据表含义

    Hive--元数据表含义 1.VERSION   -- 查询版本信息   Field Type Comment   VER_ID bigint(20) ID主键   SCHEMA_VERSION va ...

  8. 大数据学习(11)—— Hive元数据服务模式搭建

    这一篇介绍Hive的安装及操作.版本是Hive3.1.2. 调整部署节点 在Hadoop篇里,我用了5台虚拟机来搭建集群,但是我的电脑只有8G内存,虚拟机启动之后卡到没法操作,把自己坑惨了. Hive ...

  9. Hive元数据找回

    如果不小心删除了了hive的元数据文件(/user/hive/warehouse),只要先前core-site.xml文件中设置了fs.trash.interval属性就可以找回.hdfs会为用户创建 ...

  10. impala系列: 同步Hive元数据和收集统计信息

    ---====================-- Impala 获取hive 的 metadata ---====================Impala 通常和Hive共用同一个metadat ...

随机推荐

  1. luogu P4513 小白逛公园 (区间合并)

    链接:https://www.luogu.org/problemnew/show/P4513 思路: 很基础的区间合并,开四个数组: num: 区间数字的和 lsum:从左端点起最大连续字段和 rsu ...

  2. [转帖]基于docker 搭建Prometheus+Grafana

    基于docker 搭建Prometheus+Grafana https://www.cnblogs.com/xiao987334176/p/9930517.html need good study 一 ...

  3. ByteArrayInputStream类

    一.说明 哈哈,这是学习Java之路的第一篇博文.虽然说接触学习Java有一段时间了,但是对流的概念一直并不是很清楚.也看了很多资料,但是感觉还是非常的抽象很难去理解.但是流又是Java中很重要的一部 ...

  4. 剑指offer5:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

    1. 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 2. 思想 (1)栈的特点是先进后出,而队列的特点是先进先出: (2)因此,入队列的情况和入栈的情 ...

  5. linux系统redis安装及使用

    1.下载redishttp://download.redis.io/releases/redis-5.0.5.tar.gz$ wget http://download.redis.io/release ...

  6. jquery的scrollTop方法

    scrollTop方法设置或返回备选元素的垂直滚动条位置. 提示:当滚动条位于最顶部时,位置是0 当用于返回位置时: 该方法返回第一个匹配元素的滚动条的垂直位置 当用于设置位置时: 该方法设置所有匹配 ...

  7. php 连接sqlserver

    本地环境windows 10+phpstudy2016+ SQL Server 2008 R2 x86+php7.0查看自己sql server 多少位可以在新建查询里输入 select @@VERS ...

  8. 使用Qt 3D Studio 2.4显着提升性能(渲染速度提高了565%)

    发布于2019年6月18日星期二11评论Qt 3D Studio 2.4显着改善性能 发表于Biz Circuit&Dev Loop,设计,图形,性能,Qt 3D Studio 除了有效使用系 ...

  9. Java函数式接口

    函数式接口定义且只定义了一个抽象方法.函数式接口的抽象方法的签名称为函数描述符.Java 8的java.util.function包中引入了几个新的函数式接口. 1.Predicate java.ut ...

  10. id和class的区别

    id和class是定义css样式用到的,不同的是定义样式时的写法不一样,使用id选择样式时,定义的格式为 #main{width:20px;} ,使用class时用到的是 .main{width:20 ...