欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Hive metastore表结构

程序员文章站 2023-04-02 21:24:58
目录Hive metastore表结构设计分析Hive metastore整体代码分析及详解Hive metastore表结构设计分析  Hive metastore主要是描述数据的属性的信息。它是用来支持如存储位置、历史数据、资源查找、文件记录等功能。DBS表 Columns:DB_ID、DESC、DB_LOCATION_URI、NAME、OWNER_NAME、OWNER_TYPEDBS 表记录基本的db信息,其中DB_ID为其主键,同时也是FUNC_RU、FUNCS、DB_PRIVS、DA...

Hive metastore表结构设计分析

  Hive metastore主要是描述数据的属性的信息。它是用来支持如存储位置、历史数据、资源查找、文件记录等功能。
Hive metastore表结构

DBS表
记录数据库的信息

字段 解释
DB_ID 数据库的编号,默认的数据库编号为1,如果创建其他数据库的时候,这个字段会自增,主键
DESC 对数据库进行一个简单的介绍
DB_LOCATION_URI 数据库的存放位置,默认是存放在hdfs://ip:9000/user/hive/warehouse,如果是其他数据库,就在后面添加目录,默认位置可以通过参数hive.metastore.warehouse.dir来设置
NAME 数据库的名称
OWNER_NAME 数据库所有者名称
OWNER_TYPE 数据库所有者的类型

Hive metastore表结构

  • DBS 表记录基本的db信息,其中DB_ID为其主键,同时也是FUNC_RU、FUNCS、DB_PRIVS、DATABASE_PARAMS、以及TBLS的外键。一般来说,在hive meta初始化时都会自动创建一个名叫default的库,随后通过业务发展以及数据治理等需求,可进行不同业务域库的划分。
  • FUNC 表是用来存储udf的基本信息,一个UDF只能对应一个库下的表。FUNC_RU表,用于存储该udf的类型及指向的路径。
  • DB_PRIVS 表记录该DB下的权限记录信息(因为现在更多的集成开源的类似于sentry、range等成熟的权限框架)。
  • DATABASE_PARAMS 表记录DB的一些扩展信息,便于进行特殊属性的扩展。
  • TBLS 表自然是记录该DB下的所有Table信息。对应唯一的DB_ID。

TBLS表
记录数据表的信息

字段 解释
TBL_ID 在hive中创建表的时候自动生成的一个id,用来表示,主键
CREATE_TIME 创建的数据表的时间,使用的是时间戳
DB_ID 这个表是在哪个数据库里面
LAST_ACCESS_TIME 最后一次访问的时间戳
OWNER 数据表的所有者
RETENTION 保留时间
SD_ID 标记物理存储信息的id
TBL_NAME 数据表的名称
TBL_TYPE 数据表的类型,MANAGED_TABLE, EXTERNAL_TABLE, VIRTUAL_VIEW, INDEX_TABLE
VIEW_EXPANDED_TEXT 展开视图文本,非视图为null
VIEW_ORIGINAL_TEXT 原始视图文本,非视图为null

Hive metastore表结构
  tbl_id为TBLS的主键,同时也是TABLE_PARAMS、TBL_COL_PRIVS、IDXS、TBL_PRIVS、SDS、PARTITIONS、PARTITION_KEYS、TAB_COL_STATS表的外键。
  每个TBLS都对应唯一的DB_ID,取决于你在哪个db下创建的表。在创建表写入meta的同时,也会创建相应的物理路径。同时会在SDS表中加入DDL时设置的input output、表的location以及SERDE信息。
  TBL_PRIVS、TBL_COL_PRIVS表记录该Hive表的表及列权限认证信息。PARTITIONS表记录该表的DDL分区的信息,对于PARTITION_KEYS以及PARTITION_VALUES都是用于PartName的拼接获取。

PARTITIONS表
  PARTITIONS表,它是partition分区存储的元数据信息。Partition表在metastore中是相当重要的表,关系到partition的元数据存取。

字段 解释
PART_ID 分区的编号
CREATE_TIME 创建分区的时间
LAST_ACCESS_TIME 最近一次访问时间
PART_NAME 分区的名字
SD_ID 存储描述的id
TBL_ID 数据表的id

Hive metastore表结构
  PART_ID为PARTITIONS表的主键,同时也是PART_COL_STATS、PART_PRIVS、PARTITION_KEY_VALS、PARTITION_PARAMS、DATABASE_PARAMS表的外键。

SDS表
此对象包含有关属于表的数据的物理存储的所有信息,数据表的存储描述

字段 解释
SD_ID 主键
CD_ID 数据表编号
INPUT_FORMAT 数据输入格式
IS_COMPRESSED 是否对数据进行了压缩
IS_STOREDASSUBDIRECTORIES 是否进行存储在子目录
LOCATION 数据存放位置
NUM_BUCKETS 分桶的数量
OUTPUT_FORMAT 数据的输出格式
SERDE_ID 序列和反序列的信息

Hive metastore表结构
  SDS表主要包含计算引擎运行时需要的input与output 、location路径以及序列化的class信息。SD_ID为该表的主键,同时也是PARTITIONS、BUCKETING_COLS、SKEWD_COL_NAMES、SD_PARAMS、SORT_COLS、SKEWED_VALUES、IDXS的外键。

本文地址:https://blog.csdn.net/ThreeAspects/article/details/107393204

相关标签: Hive