gpt4 book ai didi

Hive 分区 - 如何删除 null 或 hive_default_partition

转载 作者:行者123 更新时间:2023-12-04 01:56:26 60 4
gpt4 key购买 nike

我在配置单元中遇到配置单元默认分区(空分区)的问题。
我将在这里简要解释一下情况。我有一个 hive 主表,每天都在该表上发生数据摄取。但不知何故,当数据被摄取到 hive 表中时,出现了问题,分区显示 _hive_default_partition_ 或者在我的理解中它是空分区。

我需要从配置单元表中删除分区。 (它是外部表)...

我正在使用 hive 版本 1.1 和 CDH 版本 5.4.8 ..

我尝试了以下语法,但它对我不起作用..

alter table "tablename" drop partition(partn='_hive_default_partition_);

alter table "tablename" drop partition(partn<'1');

alter table "tablename" drop partition(partn = 1);

alter table "tablename" drop partition(partn='0');

我尝试了上述所有步骤,但没有任何效果..

希望有人能帮我解决这个问题。

提前致谢 ,

最佳答案

对我有用的方法是更改​​分区列的数据类型,删除分区并将其改回。

考虑到您正在将分区与问题中的 int 进行比较,我假设这是开始的列数据类型,但是无论您开始使用哪种数据类型,这都应该有效。
-- Change the column type to string
ALTER TABLE tablename PARTITION COLUMN (partn STRING);
-- Drop the offending partitions
ALTER TABLE tablename DROP PARTITION (partn='__HIVE_DEFAULT_PARTITION__');
-- Change the column type back to int
ALTER TABLE tablename PARTITION COLUMN (partn INT);

关于Hive 分区 - 如何删除 null 或 hive_default_partition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35732014/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com