hive表如何刪除部分資料

2021-10-21 18:26:40 字數 1151 閱讀 6897

hive 表刪除部分資料不支援使用 delete from table_name where ...語句

hive表刪除資料要分為不同的粒度:table、partition、partition內

有分割槽欄位的資料表,刪除資料時要注意分兩種情況:

1、根據分割槽刪除資料,可以刪除滿足條件的分割槽,具體**格式如下:

--刪除乙個分割槽的資料

alter table table_name drop partition(partiton_name='value')

--刪除多個分割槽的資料

alter table table_name drop partition(partiton_name<'value')

alter table table_name drop partition(partiton_name<='value')

alter table table_name drop partition(partiton_name>'value')

alter table table_name drop partition(partiton_name>='value')

2、刪除分割槽內部的部分資料,這時使用重寫方式對滿足條件的分割槽進行 overweight 操作,並通過 where 來限定需要的資訊,未過濾的的資訊將被刪除,具體**格式如下:

insert overwrite table table_name partition(partition_name='value') 

select column1,column2,column2 from table_name

where partition_name='value' and column2 is not null

1、直接清空資料,再插入需要的資料,具體**格式如下:

truncate table database.tablename
2、通過 overweight 對所有資料重寫,具體**格式如下:

insert overweight table table_name 

select * from table_name where column is not null --限制條件可以自行修改

Hive表刪除表部分資料

1 hive表刪除資料不能使用deletefrom table name 中sql語句 2 hive表刪除資料要分為不同的粒度 table partition partition內 alter table table name drop partition partiton name value i...

hive刪除表中部分資料

insert overwrite table table name select from table name where 可以看出,刪除的本質就是覆蓋,選出符合條件的結果重新寫表。1 刪除某個分割槽 alter table table name drop partition dt 2020 09...

hive分割槽表刪除部分資料

1 hive表刪除資料不能使用delete from table name 的sql語句 2 hive表刪除資料要分為不同的粒度 table partition 一 有partition表 刪除具體partition alter table table name drop partition par...