首先要确定的一点是hive底层存储是文件的形式,如果表中每个字段都已经有值,此时进行字段移动并不能将值一起移动
只有当字段和他对应的值不匹配的时候可选择调整字段顺序
假设当前表有四个字段 顺序为 a b c d
1.创建表,在d后增加e字段
alter table xxxx add columns (e int);
此时表的字段变为
a b c d e
2.调整e字段顺序到d字段之后
alter table xxxxx change e(要移动的字段名) e(移动后字段改成新的字段名) int after b;
此时表字段顺序改为
a b e c d
此时发现e c d 这三个字段的内容与之前的不匹配了(之前c的值为3,d的值为4,e的值为null)