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

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

被折叠的 条评论
为什么被折叠?



