美文网首页
Hive元数据结构梳理

Hive元数据结构梳理

作者: 吃货大米饭 | 来源:发表于2019-07-17 17:04 被阅读0次

一、概述

我们知道Apache Hive 是构建在Apache Hadoop之上的数据仓库,适合处理海量的离线数据。Hive的数据构成由HDFS+元数据组成。而元数据对于hive是极其重要的,本文我们介绍Hive的元数据表,它默认是存储在derby中的,但是我们一般会修改为mysql。

二、元数据表结构

2019-07-17_160100.png

下面我们就一个一个讲解看看其中到底是什么关系。

  • version
VER_ID SCHEMA_VERSION VERSION_COMMENT
ID主键 Hive版本 版本说明
1 1.1.0 Set by MetaStore hadoop@192.168.174.130

这张表虽然简单,但是其中数据极为重要。如果该表出现问题,根本进入不了Hive-Cli。比如该表不存在,当启动Hive-Cli时候,就会报错”Table ‘hive.version’ doesn’t exist”。

  • dbs
DB_ID DESC DB_LOCATION_URI NAME OWNER_NAME OWNER_TYPE
数据库id 数据库描述 数据库HDFS路径 数据库名称 数据库所有者用户名 所有者角色
1 Default Hive database hdfs://Hadoop001:9000/user/hive/warehouse default public ROLE
  • database_params(数据库参数的元数据信息)
    该表存储数据库的相关参数,在CREATE DATABASE时候用
    WITH DBPROPERTIES (property_name=property_value, …)指定的参数
DB_ID PARAM_KEY PARAM_VALUE
数据库id 参数名称 参数值
1 createdby 123
  • tbls
    该表中存储Hive表、视图、索引表的基本信息
TBL_ID CREATE_TIME DB_ID LAST_ACCESS_TIME OWNER RETENTION SD_ID TBL_NAME TBL_TYPE VIEW_EXPANDED_TEXT VIEW_ORIGINAL_TEXT
表id 创建时间 数据库id 上次访问时间 所有者 保留字段 序列化配置信息( 对应SDS表中的SD_ID) 表名称 表类型 视图的详细hql语句 视图的原始hql语句
1 1563296015 1 0 hadoop 0 1 hello MANAGED_TABLE
2 1563298635 1 0 hadoop 0 2 hello2 MANAGED_TABLE
4 1563301336 1 0 hadoop 0 4 genome_scores MANAGED_TABLE
  • table_params
    该表存储表/视图的属性信息,在CREATE TABLE时候用
    TBLPROPERTIES (property_name=property_value, ...)指定的参数
TBL_ID PARAM_KEY PARAM_VALUE
表id 属性名称 属性值
1 COLUMN_STATS_ACCURATE true
1 numFiles 2
1 numRows 2
1 rawDataSize 10
1 totalSize 12
1 transient_lastDdlTime 1563299705
2 COLUMN_STATS_ACCURATE true
2 numFiles 1
2 numRows 1
2 rawDataSize 5
2 totalSize 6
2 transient_lastDdlTime 1563298706
4 COLUMN_STATS_ACCURATE true
4 last_modified_by hadoop
4 last_modified_time 1563302564
4 numFiles 1
4 numRows 0
4 rawDataSize 0
4 skip.header.line.count 1
4 totalSize 323544381
4 transient_lastDdlTime 1563303284
  • sds
    该表保存文件存储的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否压缩等。 与tbles相关联可获取表信息
SD_ID CD_ID INPUT_FORMAT IS_COMPRESSED IS_STOREDASSUBDIRECTORIES LOCATION NUM_BUCKETS OUTPUT_FORMAT SERDE_ID
存储信息ID(对应tbls表中的SD_ID ) 字段信息ID(对应column_v2 的CD_ID) 文件输入格式 是否压缩 是否以子目录存储 HDFS路径 分桶数量 文件输出格式 序列化类ID
1 1 org.apache.hadoop.mapred.TextInputFormat 0 0 hdfs://Hadoop001:9000/user/hive/warehouse/hello -1 org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat 1
2 2 org.apache.hadoop.mapred.TextInputFormat 0 0 hdfs://Hadoop001:9000/user/hive/warehouse/hello2 -1 org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat 2
4 4 org.apache.hadoop.mapred.TextInputFormat 0 0 hdfs://Hadoop001:9000/user/hive/warehouse/genome_scores -1 org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat 4
  • SD_PARAMS
    该表存储Hive存储的属性信息,在创建表时候使用
    STORED BY ‘storage.handler.class.name’ [WITH SERDEPROPERTIES (…)指定
SD_ID PARAM_KEY PARAM_VALUE
存储信息id 参数key 参数value
1
  • serdes
    该表存储序列化使用的类信息
SERDE_ID NAME SLIB
序列化类配置ID(对应SDS的 SERDE_ID) 序列化类别名 序列化类
1 org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
2 org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
4 org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
  • serde_params
    该表存储序列化的一些属性、格式信息,比如:行、列分隔符
SERDE_ID PARAM_KEY PARAM_VALUE
序列化类配置ID(对应SDS的 SERDE_ID) 属性名称 属性值
1 field.delim ,
1 serialization.format ,
2 field.delim ,
2 serialization.format ,
4 field.delim ,
4 serialization.format 1
  • columns_v2
    表的字段信息
CD_ID COMMENT COLUMN_NAME TYPE_NAME INTEGER_IDX
字段信息ID(对应SDS 表CD_ID) 字段注释 字段名 字段类型 字段顺序
1 id int 0
1 name string 1
2 id int 0
2 name string 1
4 movieid int 0
4 relevance double 2
4 tagid int 1

三、元数据ER图

2019-07-17_113017.png

相关文章

  • Hive元数据结构梳理

    一、概述 我们知道Apache Hive 是构建在Apache Hadoop之上的数据仓库,适合处理海量的离线数据...

  • 大数据环境搭建-Hive

    hive压缩包解压 使用mysql存储元数据 创建 hive 账号 hive元数据库 账号授权 通过hive账号...

  • 数仓--Hive-面试之Hive内外表的区分方法及内外部差异

    Hive内外部区分方法 查看hive元数据:进入mysql中hive元数据库,查看TBLS表,查看对应的表名和表类...

  • hive 函数梳理

    一、关系运算: 1. 等值比较: = 语法:A=B 操作类型:所有基本类型 描述:如果表达式A与表达式B相等,则为...

  • Hive知识梳理

    版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/1ca9f...

  • Hive学习-高级版三(元数据梳理)

    hive的数据分为两部分,一部分是真实的数据文件,存放在hdfs上,另一份是真实数据的元数据(即数据的描述信息,比...

  • Hive元数据 表结构

    Hive元数据 简单整理

  • Hive Migrate

    一、orc分区表迁移 复制元信息,hive同版本:可以恢复 复制元信息,hive高版本:可以恢复 不复制元信息,h...

  • Ambari+HDP安装的Hive出现中文乱码解决

    1 Hive注释comment出现乱码 1.1 Hive建表语句 1.2 Hive的元数据存在Mysql中,而My...

  • Hive学习笔记

    本文是对Hive组件的学习的一个初步总结,包括如下章节的内容: Hive是什么 Hive安装 快速上手 Hive元...

网友评论

      本文标题:Hive元数据结构梳理

      本文链接:https://www.haomeiwen.com/subject/yjtclctx.html