上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

Hive--清除删除Hive表数据

guduadmin48小时前

1、概述

hive 表删除部分数据不支持使用 Delete From table_name where …语句

hive表删除数据要分为不同的粒度:table、partition、partition内

2、有 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、删除分区内部的部分数据,这时使用重写方式对满足条件的分区进行 overwrite 操作,并通过 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

3、没有 Partition 分区表

1、直接清空数据,再插入需要的数据,具体代码格式如下:
truncate table database.tablename
2、通过 overwrite 对所有数据重写,具体代码格式如下:
insert overwrite table table_name 
select * from table_name WHERE column is not null  --限制条件可以自行修改

网友评论

搜索
最新文章
热门文章
热门标签