hive分区表新增字段并且新增字段的数据要写入当前和历史分区三种方法

本文探讨了在Hive中对分区表增加字段时使用与未使用cascade关键字的区别。通过实例演示了不同情况下历史分区数据如何正确加载新增字段的过程。

由于之前的工作中就算是分区表中插入字段,也是只对当前数据负责,不需要管历史数据,所以没考虑过如果加字段之后,对历史分区如何插入数据的问题,直到一次面试,面试官问了这个问题,我决定用博客的形式记录下来,下面是加字段加不加cascade关键字的区别

-- 内容准备
test_partition.txt  -- 历史分区没有新增字段
1 zhangsan 1000 20210101
2 lisi 500 20210101
3 wangwu 6000 20210101
4 zhaoliu 4600 20210101

test_partition2.txt  -- 新增字段后插入新的分区
5 hanli 8000 mail 20210102
6 wusun 3500 femail 20210102
7 yezi 9000 mail 20210102
8 xaingjiao 7600 femail 20210102

test_partition3.txt  -- 历史分区数据加上新的字段
1 zhangsan 1000 mail 20210101
2 lisi 500 mail 20210101
3 wangwu 6000 femail 20210101
4 zhaoliu 4600 mail 20210101

-- 创建表  分区表
create table test(
    id int,
    name string,
    salary string
)
partitioned by (bbq_d_p string)
row format delimited fields terminated by ' ';

-- 第一次加载数据
load data local inpath '/usr/local/temp/test_partition.txt' overwrite into table test partition(bbq_d_p
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值