说明

hive原数据表中sd_id在tbls、parts表中都存在,那么何时存在tbls表中存sd_id,何时在parts表中存呢?本文浅析。

1. tbls

hive> desc xxxdb.hive_mysql_tbls;
OK
col_name    data_type   comment
tbl_id                  bigint
create_time             int
db_id                   bigint
last_access_time        int
owner                   varchar(767)
retention               int
sd_id                   bigint
tbl_name                varchar(128)
tbl_type                varchar(128)
view_expanded_text      string
view_original_text      string

2. partitions

 > desc xxxdb.hive_mysql_partitions;
OK
col_name    data_type   comment
part_id                 bigint
create_time             int
last_access_time        int
part_name               varchar(767)
sd_id                   bigint
tbl_id                  bigint

3. sds

hive> desc xxxdb.hive_mysql_sds;
OK
col_name    data_type   comment
sd_id                   bigint
cd_id                   bigint
input_format            varchar(4000)
is_compressed           boolean
is_storedassubdirectories   boolean
location                varchar(4000)
num_buckets             int
output_format           varchar(4000)
serde_id                bigint
Time taken: 0.079 seconds, Fetched: 9 row(s)

在已知路径sds.location的情况下,查对应的table、db,怎么查呢?
既要从tbls表中,又要从partitions表中查,原因是sds_id可能存在tbls中,也可能存在partitions中:

  • 对于非分区表:tbls -> (sd_id) <- sds
  • 对于分区表:tbls-> (tbl_id) <- partitions -> (sd_id) <- sds

原因是,非分区表,在表级目录下,直接存文件;对于非分区表,文件是存在每个分区目录下的。

所以,想要tblssd联系起来,必须要一个子查询:

(select c.db_id,c.tbl_name,case when d.part_id is null then c.sd_idwhen d.part_id is not null then d.sd_idend as sdidfrom xxxdb.hive_mysql_tbls c left join xxxdb.hive_mysql_partitions d on c.tbl_id = d.tbl_id
) as e

hive元数据表tbls、parts、sds相关推荐

  1. Hive 元数据表结构详解

    元数据是基础,这篇文章值得一读. 本文介绍Hive元数据库中一些重要的表结构及用途,方便Impala.SparkSQL.Hive等组件访问元数据库的理解. 1.存储Hive版本的元数据表(VERSIO ...

  2. HIVE元数据表/数据字典

    表名 说明 BUCKETING_COLS

  3. Hive元数据信息表详解

    1.存储Hive版本的元数据表(VERSION) 2.Hive数据库相关的元数据表(DBS.DATABASE_PARAMS) DBS:该表存储Hive中所有数据库的基本信息 字段如下: DATABAS ...

  4. hive 自定义元数据表_[一起学Hive]之十四-Hive的元数据表结构详解

    关键字:Hive元数据.Hive元数据表结构 之前在 "[一起学Hive]之一–Hive概述,Hive是什么"中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hiv ...

  5. Hive的元数据表结构详解(转自lxw1234)

    本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例. 文章最后面,会以一个示例来全面了解一下,Hive的元数据是怎么生成和存储的. 13.1 存储Hive版本的元数据表(VER ...

  6. clodera scm 数据库表信息 和 hive元数据整理

    一. cloudera 会将页面的数据存储到 SCM 中 其表结构梳理(对应生产BAOFOO_SCM) AUDITS 登录信息.服务,角色重启.配置更改 PROCESSES 进程信息.这里面有很多信息 ...

  7. Hive的元数据存储与元数据表

    一.元数据(metadata) 元数据(Meta Date),主要记录数据仓库中模型的定义.各层级间的映射关系.监控数据仓库的数据状态及 ETL 的任务运行状态.一般会通过元数据资料库(Metadat ...

  8. hive 元数据信息表解析

    目录 1 概述 2 Hive元数据表结构 1.存储Hive版本的元数据表(VERSION) 2.Hive数据库相关的元数据表(DBS.DATABASE_PARAMS) 3.Hive表和视图相关的元数据 ...

  9. [一起学Hive]之十四-Hive的元数据表结构详解

    关键字:Hive元数据.Hive元数据表结构 之前在 "[一起学Hive]之一–Hive概述,Hive是什么"中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hiv ...

最新文章

  1. java interface class_java interface和class中的协变
  2. idea设置类注释和方法注释
  3. TypeScript 里 interface 和 type 的区别
  4. php 根号2计算过程,根号2以及π的计算--关于无理数的畅想
  5. 用 FastJSON 将 JSON 字符串转换为 Map
  6. 关于计算机网络维护毕业论文,计算机专业毕业论文---计算机网络故障处理及维护方法...
  7. Linux学习总结(15)——提高 Vim 和 Shell 效率的 9 个建议
  8. 《Android开发从零开始》——17.Service学习(3)
  9. sas table将缺失值计入百分比_SAS系列28:SAS宏语言(一)
  10. 每日一题[LeetCode 315]计算右侧小于当前元素的个数
  11. Atitit 图片 验证码生成attilax总结
  12. 计算机考研复试问题回答,关于考研复试问题的官方解答及部分问题答题模板!...
  13. 【电赛训练】红外光通信装置 2013年电赛真题
  14. S700K五机牵引转辙设备简介组成及道岔转换设备故障分析【铁路信号技术专栏】—转载自微信公众号铁路信号技术交流
  15. 加密、签名以及苹果的双重签名机制
  16. 请问现在好多抖音巨量广告落地页pages.tmall.com的页面如何生成
  17. Django--手机号注册生成验证码
  18. cf Round#779 D 388535
  19. 实用解析dmp文件内容
  20. RO,RW,ZI 和scatter file详解(转载)

热门文章

  1. linux 获取phy状态,Linux PHY几个状态的跟踪
  2. 超详细整合SSM框架--(Spring + Spring MVC + MyBatis)
  3. 一个优秀技术经理必备的30条“软实力”,你有吗?
  4. 如何写一篇好的科研课题论文
  5. 熊猫麻将战绩自动分享
  6. 跟我学python之mysql操作详解 一、查询操作
  7. 虚拟机中开启TV(VM虚拟机中使用手机模拟器)
  8. 顶点计划——“关于拒绝”调研报告
  9. linux中的磁盘加密
  10. 计蒜客习题:islands 打炉石传说