Hive元数据结构梳理

2019-07-17  本文已影响0人  吃货大米饭

一、概述

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

二、元数据表结构

2019-07-17_160100.png

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

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”。

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
DB_ID PARAM_KEY PARAM_VALUE
数据库id 参数名称 参数值
1 createdby 123
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
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
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_ID PARAM_KEY PARAM_VALUE
存储信息id 参数key 参数value
1
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_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
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
上一篇 下一篇

猜你喜欢

热点阅读