今天接到需求大概是这样的,在以前上线的分区报表中新加一个字段,并且要求添加到指定的列,然后刷新同步以前的数据,现将模拟实现如下:
创建测试表
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)

本文详细介绍在Hive中向已存在的分区报表中添加新字段的步骤,包括使用ALTER TABLE命令添加字段并调整其位置,以及如何通过刷新数据确保新字段在旧分区中有正确值的过程。
+重刷历史方法避免旧分区新增字段为NULL&spm=1001.2101.3001.5002&articleId=86035864&d=1&t=3&u=dd5835eab87d4b789581ed526f474111)
7379

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



