在hive元数据库中查询hive的分区表信息 您所在的位置:网站首页 如何查分区表 在hive元数据库中查询hive的分区表信息

在hive元数据库中查询hive的分区表信息

2024-04-11 13:59| 来源: 网络整理| 查看: 265

前言

hive默认元数据库Derby(嵌入模式) Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以做为单独的数据库服务器使用,也可以内嵌在应用程序中使用。所以hive采用了Derby作为一个内嵌的元数据库,可以完成hive安装的简单测试。

hive安装完成之后,就可以在hive shell中执行一些基本的操作,创建表、查询等等。如果你细心的话,就会发现一个问题: 当在某个目录下启动终端,进入hive shell时,hive默认会在当前目录下生成一个derby文件和一个metastore_db目录,这两个文件主要保存刚刚在shell中操作的一些sql的结果,比如新建的表、添加的分区等等

这种存储方式的带来弊端

1.在同一个目录下同时只能有一个hive客户端能使用数据库 2.切换目录启动新的shell,无法查看之前创建的表,不能实现表数据的共享

三、使用mysql作为元数据库

由于使用默认的元数据库有些弊端,所以采用mysql保存hive元数据解决上面的问题。hive所有的元数据都保存在同一个库里,这样不同开发者创建的表可以实现共享。

mysql配置又分为几种情况:

(1)mysql部署在hive服务器,使用本地服务(测试、学习使用) 在这里插入图片描述 (2)mysql部署在其他机器,hive服务器开启metadata服务,在hive服务器上操作hive 在这里插入图片描述 (3)mysql部署在其他机器,hive服务器开启metadata服务,在hive客户端访问hive的metadata服务 在这里插入图片描述

在hive元数据库中有dbs和sds表(还有很多hive元数据属性相关表) 查询hive分区信息的sql:

select a.NAME,b.TBL_NAME from dbs as a inner join tbls as b on a.DB_ID=b.DB_ID where TBL_ID in (select distinct(TBL_ID) from partitions);


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有