我想在hive表中的特定位置添加一个新列。当我添加新列时,它会转到最后一个位置。
由于
答案 0 :(得分:2)
只需将列添加到结尾
即可创建一个运行带有所需列排序的select语句的VIEW。
将表重命名为其他内容,并将视图命名为表,没有人会知道任何不同的
答案 1 :(得分:1)
您需要重新创建表格。如果该表是外部的,并且数据已包含新列,则发出drop
和create table
语句。一般解决方案是:
1. create new_table...;
2. insert overwrite new_table select from old_table;
3. drop old_table;
4. alter new_table rename to old_table;
此外,如果数据文件已在某个位置包含新列,则可以
1. Alter table add column
使用此示例更改列位置:
2. ALTER TABLE test_change CHANGE old_name new_name STRING AFTER other_col;