Как добавить столбцы в существующую внешнюю таблицу улья?
create external table demotable(
column1 string,
column2 string,
column3 string)
row format delimited fields terminated by '|'
location '/data/demotable';
Я создаю внешнюю таблицу "demotable" и данные в "/data/demotable"
aaa|bbb|ccc
ddd|eee|fff
www|ttt|uuu
...
yyy|uuu|kkk
Теперь я хочу добавить еще два столбца в мои данные, и это будет похоже на
aaa|bbb|ccc
ddd|eee|fff
www|ttt|uuu
...
yyy|uuu|kkk|ppp|lll
vvv|mmm|zzz|ttt|hhh
Есть ли способ:
1. добавить новые столбцы в моей таблице (для новых данных)
2. сохранить старые данные (просто пометить последние два столбца как "NULL")?
2 ответа
Вы можете добавить новые столбцы во внешнюю таблицу HIVE с помощью следующей команды:
ALTER TABLE демонтируемые столбцы ADD (строка column4, строка column5);
Поскольку это внешняя таблица, вы можете просто отбросить ее и создать заново с дополнительными столбцами в конце. Удаление внешней таблицы, в идеале не удалить файлы. Когда вы запрашиваете таблицу, вывод будет равен NULL для тех строк, где в этих столбцах нет данных.