Как добавить столбцы в существующую внешнюю таблицу улья?

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 для тех строк, где в этих столбцах нет данных.

Другие вопросы по тегам