前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HIVE 删除分区表,但是对应的分区目录还在

HIVE 删除分区表,但是对应的分区目录还在

原创
作者头像
王旭平
修改于 2022-12-06 13:07:51
修改于 2022-12-06 13:07:51
3K01
代码可运行
举报
文章被收录于专栏:大数据生态大数据生态
运行总次数:1
代码可运行

问题现象:在hive的分区表中删除了分区,命令执行返回成功,但是hdfs上对应的分区目录却没有删除。

执行删除分区的操作,命令返回成功,元数据中也不存在该分区。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive>  alter table  default.logs drop partition (dt="2022",country="guangzhou") ;
OK
Time taken: 0.052 seconds
hive> show partitions default.logs ;
OK
dt=2022/country=beijing
dt=2022/country=wuhan

查看对应的目录,发现分区dt=2022/country=guangzhou并没有删除掉,正常情况下分区目录是会被删除的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hadoop fs -ls    /usr/hive/warehouse/logs/dt=2022/
Found 3 items
drwxr-xr-x   - hadoop supergroup          0 2022-12-06 19:17 /usr/hive/warehouse/logs/dt=2022/country=beijing
drwxr-xr-x   - hadoop supergroup          0 2022-12-06 20:02 /usr/hive/warehouse/logs/dt=2022/country=guangzhou
drwxr-xr-x   - hadoop supergroup          0 2022-12-06 19:14 /usr/hive/warehouse/logs/dt=2022/country=wuhan

问题原因:要删除的分区目录不在元数据中。因为要删除的分区目录dt=2022/country=guangzhou是其他程序拉取数据生成的,正常情况下,生产数据后是要进行元数据同步(msck repair table 表名 ;),但是该分区目录生成后没有进行分区修复操作来同步元数据。导致元数据中并没有该目录的路径对应的分区,所以删除该分区时候无法删除掉该目录。

解决方案:修复分区同步元数据,再删除该目录。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive>  msck repair table  default.logs ;
OK
Partitions not in metastore:    logs:dt=2022/country=guangzhou
Repair: Added partition to metastore logs:dt=2022/country=guangzhou
Time taken: 0.07 seconds, Fetched: 2 row(s)
hive>  alter table  default.logs drop partition (dt="2022",country="guangzhou") ;
Dropped the partition dt=2022/country=guangzhou
OK
Time taken: 0.078 seconds

此时,对应的分区目录被删除

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[hadoop@172 ~]$ hadoop fs -ls    /usr/hive/warehouse/logs/dt=2022/
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2022-12-06 19:17 /usr/hive/warehouse/logs/dt=2022/country=beijing
drwxr-xr-x   - hadoop supergroup          0 2022-12-06 19:14 /usr/hive/warehouse/logs/dt=2022/country=wuhan

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hive简介
转载自http://www.cnblogs.com/sharpxiajun/archive/2013/06/02/3114180.html Hive简介   首先我们要知道hive到底是做什么的。下面这几段文字很好的描述了hive的特性:   1.hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的M
老白
2018/03/19
1.4K0
Hive简介
Hive 修复分区 MSCK REPAIR TABLE
MSCK REPAIR TABLE命令主要是用来: 解决通过hdfs dfs -put或者hdfs api写入hive分区表的数据在hive中无法被查询到的问题。
solve
2019/11/10
7.6K0
Hive的数据类型
本文介绍hive的数据类型,数据模型以及文件存储格式。这些知识大家可以类比关系数据库的相关知识。
加米谷大数据
2018/07/25
2.4K0
Hive的数据类型
hive学习笔记之四:分区表
本文是《hive学习笔记》系列的第四篇,要学习的是hive的分区表,简单来说hive的分区就是创建层级目录的一种方式,处于同一分区的记录其实就是数据在同一个子目录下,分区一共有两种:静态和动态,接下来逐一尝试;
程序员欣宸
2021/07/01
3660
hive学习笔记之四:分区表
[1130]hive表修复元数据
(tablename是你的表的名字)方法来进行修复元数据。 上面是一层分区的情况执行的。
周小董
2022/04/28
2.4K0
Hive-1.2.1_03_DDL操作 1.1. Create Database1.2. Drop Database1.3. Use Database2.1. Cre
  注意:各个语句的版本时间,有的是在 hive-1.2.1 之后才有的,这些语句我们在hive-1.2.1中是不能使用的。
踏歌行
2020/10/15
7700
Hive-1.2.1_03_DDL操作
    




        1.1. Create Database1.2. Drop Database1.3. Use Database2.1. Cre
Hive入门讲解
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
用户1212940
2019/11/02
1.1K0
大数据快速入门(09):永久弄清楚 Hive 分区表和分桶表的区别
蛋蛋 和 小智 今天又在“打情骂俏”,他们今天在谈论分区表和分桶表,走,我们去听听。
kk大数据
2020/11/03
5.4K0
大数据快速入门(09):永久弄清楚 Hive 分区表和分桶表的区别
Hive 内部表与外部表
托管表(内部表)和外部表是Hive中的两种不同类型的表,在这篇文章中,我们将讨论Hive中表的类型以及它们之间的差异以及如何创建这些表以及何时将这些表用于特定的数据集。
smartsi
2019/08/07
3.6K0
Hive中常用的一些配置操作(日志,显示等操作)
4.在HIve的 cli命令行上显示当前数据库,以及查询表的行头信息,在hive-site.xml文件下增加如下参数:
z小赵
2018/09/05
2.4K0
Flink集成Iceberg小小实战
Apache Iceberg is an open table format for huge analytic datasets. Iceberg adds tables to Presto and Spark that use a high-performance format that works just like a SQL table.
大数据真好玩
2021/07/30
6K1
HiveQL: 数据定义
注:cmd里显示数据库名,需要 vim /usr/local/hive/bin/.hiverc 添加 set hive.cli.print.current.db=true;
Michael阿明
2021/09/06
5040
0846-7.1.1-如何迁移HDP2.4中的Hive表到CDP7.1.1
随着Hadoop 3.X 版本的发展,Hadoop 2.X 版本即将淘汰。我们当前面临着集群升级的问题,在升级过程中,即使使用迁移升级方式工作量非常大,但毫无疑问最稳妥的升级办法。在迁移的过程中,我们首先面对的就是本地的HDFS数据迁移和Hive 表数据迁移,本文主要讲述如何迁移HDP2.4.2 Hive 表和数据到CDP 7.1.1中。
Fayson
2021/07/05
9730
数仓面试高频考点--解决hive小文件过多问题
hive 中的小文件肯定是向 hive 表中导入数据时产生,所以先看下向 hive 中导入数据的几种方式
五分钟学大数据
2021/01/10
1.8K0
数仓面试高频考点--解决hive小文件过多问题
大数据技术之_08_Hive学习_02_DDL数据定义(创建/查询/修改/删除数据库+创建表+分区表+修改表+删除表)+DML数据操作(数据导入+数据导出+清除表中数据)
1)创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db。
黑泽君
2019/03/08
1.8K0
大数据技术之_08_Hive学习_02_DDL数据定义(创建/查询/修改/删除数据库+创建表+分区表+修改表+删除表)+DML数据操作(数据导入+数据导出+清除表中数据)
表的高级操作:倾斜表&事务表
对于一列或多列中出现倾斜值的表,可以创建倾斜表(Skewed Tables)来提升性能。比如,表中的key字段所包含的数据中,有50%为字符串”1“,那么这种就属于明显的倾斜现象;于是在对key字段进行处理时,倾斜数据会消耗较多的时间。
十里桃花舞丶
2021/09/10
9400
Hive3创建和管理分区
您可以将Hive配置为动态创建分区,然后运行查询以在文件系统或对象存储上创建相关目录。Hive然后将数据分离到目录中。
大数据杂货铺
2020/04/07
1.4K0
Hive动态分区
hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。
云飞扬
2021/12/31
2.6K0
一脸懵逼学习Hive(数据仓库基础构架)
Hive是什么?其体系结构简介* Hive的安装与管理* HiveQL数据类型,表以及表的操作* HiveQL查询数据*** Hive的Java客户端** Hive的自定义函数UDF* 1:什
别先生
2018/01/02
3.1K0
一脸懵逼学习Hive(数据仓库基础构架)
(四)Hive分区、分桶
CREATE TABLE IF NOT EXISTS salgrade2 ( GRADE int, LOSAL int, HISAL int ) partitioned by (day string) row format delimited fields terminated by '\t' location '/data/inner/ODS/01/salgrade2';
wolf
2020/09/18
1.2K0
相关推荐
Hive简介
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验