hive分区表新增字段(指定添加列的位置)+重刷历史方法(避免旧分区新增字段为NULL)

本文详细介绍在Hive中向已存在的分区报表中添加新字段的步骤,包括使用ALTER TABLE命令添加字段并调整其位置,以及如何通过刷新数据确保新字段在旧分区中有正确值的过程。

今天接到需求大概是这样的,在以前上线的分区报表中新加一个字段,并且要求添加到指定的列,然后刷新同步以前的数据,现将模拟实现如下:

创建测试表

create  external table test.table_add_column_test(
  original_column1 string comment '原始数据1',
  original_column2 string comment '原始数据2'
)
comment 'add_column的测试表'
partitioned by (
`daystr` string comment '日期'
)
row format delimited fields terminated by '\t'
stored as textfile;
OK
Time taken: 0.266 seconds

插入测试数据

insert into table test.table_add_column_test partition(daystr='20190107') select '测试数据1_0107','测试数据2_0107';
insert into table test.table_add_column_test partition(daystr='20190108') values ('测试数据1_0108','测试数据2_0108');

查看现有数据

select * from test.table_add_column_test;
OK
测试数据1_0107	测试数据2_0107	20190107
测试数据1_0108	测试数据2_0108	20190108
Time taken: 0.226 seconds, Fetched: 2 row(s)

官网添加列的语法

ALTER TABLE table_name 
  [PARTITION partition_spec]                 -- (Note: Hive 0.14.0 and later)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值