hive 元数据库表描述

元数据库表描述

  这一节描述hive元数据库中比较重要的一些表的作用,随着后续对hive的使用逐渐补充更多的内容。 
mysql元数据库hive中的表:

表名 作用
BUCKETING_COLS 存储bucket字段信息,通过SD_ID与其他表关联
CDS 一个字段CD_ID,与SDS表关联
COLUMNS_V2 存储字段信息,通过CD_ID与其他表关联
DATABASE_PARAMS
DBS 存储hive的database信息
DELETEME1410257703262
FUNCS
FUNC_RU
GLOBAL_PRIVS 全局变量,与表无关
IDXS
INDEX_PARAMS
PARTITIONS 分区记录,SD_ID, TBL_ID关联
PARTITION_KEYS 存储分区字段,TBL_ID关联
PARTITION_KEY_VALS 分区的值,通过PART_ID关联。与PARTITION_KEYS共用同一个字段INTEGER_IDX来标示不同的分区字段。
PARTITION_PARAMS 存储某分区相关信息,包括文件数,文件大小,记录条数等。通过PART_ID关联
PART_COL_PRIVS
PART_COL_STATS
PART_PRIVS
ROLES 角色表,和GLOBAL_PRIVS配合,与表无关
SDS 存储输入输出format等信息,包括表的format和分区的format。关联字段CD_ID,SERDE_ID
SD_PARAMS
SEQUENCE_TABLE 存储sqeuence相关信息,与表无关
SERDES 存储序列化反序列化使用的类
SERDE_PARAMS 序列化反序列化相关信息,通过SERDE_ID关联
SKEWED_COL_NAMES
SKEWED_COL_VALUE_LOC_MAP
SKEWED_STRING_LIST
SKEWED_STRING_LIST_VALUES
SKEWED_VALUES
SORT_COLS 排序字段,通过SD_ID关联
TABLE_PARAMS 表相关信息,是否外部表,通过TBL_ID关联
TAB_COL_STATS
TBLS 存储表信息,关联字段DB_ID,SD_ID,
TBL_COL_PRIVS
TBL_PRIVS 表赋权限相关信息,通过TBL_ID关联
VERSION 版本
VERSION_copy 版本,通过VER_ID关联

  这里补充介绍hive的一个工具脚本metatool。如果需要大量修改元数据库中的相关记录,可以具体查看metatool脚本的使用方法。 
  比如说,对一个HDFS做HA的时候,如果之前hdfs完整路径是hdfs://m000,做完HA之后把dfs.nameservices设置为my-cluster之后,hdfs的访问路径就变成了hdfs://my-cluster,此时就需要对hive元数据库中所有记录作更新,这时可以参考下面的操作, 
使用metatool脚本,先是新路径,然后是旧路径 
/usr/local/bigdata/hive/bin/metatool -updateLocation hdfs://my-cluster hdfs://m000

原文地址:https://www.cnblogs.com/suanec/p/8819445.html

时间: 2024-10-11 02:10:04

hive 元数据库表描述的相关文章

Hive 元数据库表信息

Hive 的元数据信息通常存储在关系型数据库中,常用MySQL数据库作为元数据库管理. 1. 版本表 i) VERSION   -- 查询版本信息 2. 数据库.文件存储相关 i) DBS -- 存储Hive中所有数据库的基本信息 ii) SDS -- 存储Hive中文件存储的基本信息 3. 表.视图相关 i) TBLS -- 存储Hive表.视图.索引表的基本信息 简要说明:1. 内部表与外部表的区别, 外部表 drop table 后,只删除元数据信息,数据文件还在.但是内部表 drop t

HIVE外部表 分区表

HIVE外部表 分区表    外部表        创建hive表,经过检查发现TBLS表中,hive表的类型为MANAGED_TABLE. 在真实开发中,很可能在hdfs中已经有了数据,希望通过hive直接使用这些数据作为表内容.        此时可以直接创建出hdfs文件夹,其中放置数据,再在hive中创建表管来管理,这种方式创建出来的表叫做外部表. #创建目录,上传已有文件        hadoop fs -mkdir /data        hadoop fs -put stude

hive创建表失败,drop表失败

一.hive创建表失败,报错: CREATE TABLE pokes (foo INT, bar STRING);FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(

hive内部表与外部表区别

1.创建内部表与外部表的区别是什么? 2.external关键字的作用是什么? 3.外部表与内部表的区别是什么? 4.删除表的时候,内部表与外部表有什么区别? 5.load data local inpath '/home/wyp/data/wyp.txt' into table wyp;的过程是什么样子的? 6.磁盘,hdfs,hive表他们之间的过程是什么样子的? 相信很多用户都用过关系型数据库,我们可以在关系型数据库里面创建表(create table),这里要讨论的表和关系型数据库中的表

Hive桶表

桶(bucket)是指将表或分区中指定列的值为key进行hash,hash到指定的桶中,这样可以支持高效采样工作. 抽样(sampling)可以在全体数据上进行采样,这样效率自然就低,它还是要去访问所有数据.而如果一个表已经对某一列制作了bucket,就可以采样所有桶中指定序号的某个桶,这就减少了访问量. 针对桶的操作,总共有四步: 1).开启桶的服务 Hive > set hive.enforce.buketing=true; 2).创建桶表 首先,我们来看如何告诉Hive—个表应该被划分成桶

Hive学习之三 《Hive的表的详解和应用案例详解》

一.Hive的表 Hive的表分为内部表.外部表和分区表. 1.内部表,为托管表. 2.外部表,external. 3.分区表. 详解: 内部表,删除表的时候,数据会跟着删除. 外部表,在删除表的时候,数据不会跟着删除. 默认分隔符:列 为 \001         行分隔符为 \n 分区表: 1.解决查询效率,不全表查询,只查对应的分区. 2.避免数据重复的问题,即数据质量方面安全. create table tablename ( 字段1 字段类型 , 字段2 字段类型 ) PARTITIO

sqlserver 2008 查看表描述,和表结构

sp_help sys_user --表结构 SELECT CASE WHEN col.colorder = 1 THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , col.name AS 列名 , ISNULL(ep.[value], '') AS 列说明 , t.name AS 数据类型 , col.length AS 长度 , ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) A

hive建表并load数据小结

一.建表的时候要指明分隔符 hive建表时默认的分隔符是'\001',若在建表的时候没有指明分隔符,load文件的时候文件的分隔符需要是'\001'的, 若文件分隔符不是'\001',程序不会报错,但表查询的结果会全部为'NULL', 如何制作分隔符为'\001'的测试文件 用vi编辑器Ctrl+v然后Ctrl+a就可以通过键盘输入'\001' 也可以在建表的时候指明分隔符为制表符,然后测试文件用excel制表符制作, 例如: create table pokes(foo INT,bar STR

R语言读取Hive数据表

R通过RJDBC包连接Hive 目前Hive集群主要在济阳,我们的权限是可以通过跳板机来访问 HiveServer, 将Hive 中的批量数据读入R环境,并进行后续的模型和算法运算. 1. 登录跳板机后需要首先在Linux下进行配置 从root权限切换到bzsys用户,才能够通过验证读取Hive.首先需要配置Hadoop的临时环境变量CLASSPATH路径 su bzsys export CLASSPATH=$CLASSPATH:/etc/hadoop/conf 2. 下载并安装RJDBC包 L