hive相关命令(持续更新中......)

1. 删除指定范围内的分区数据

//删除时间范围内的数据
ALTER TABLE tb drop PARTITION(dt>0);

//删除多个独立partition的数据
ALTER TABLE tb drop if exists
PARTITION(code="a",dt="20190523"),
PARTITION(code="b",dt="20190523");

 

2.如果hive的数据表为外表,且想删除分区值为null的数据,可以采用以下的办法

       a.将表转为内部表  alter table tb set TBLPROPERTIES ('EXTERNAL'='FALSE')

       b.删除数据  如果是全量删除可以使用 truncate table tb,部分删除可以使用INSERT OVERWRITE table tb SELECT * FROM tb WHERE ***

       c.重新将表设置为外表:alter table tb set TBLPROPERTIES ('EXTERNAL'='TRUE')

 

3.字段拼接

select concat_ws(',',collect_set(one))  as arr_str from table

4.插入数据(带分区)

//如何对齐分区?
//应该将分区放在最后,例如

insert overwrite table insert_tb partition(dt)
select 
    a,
    b,
    dt
from read_tb;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值