Таблица HiveSQL Alter переименовывает столбец и не перемещает данные - PullRequest
0 голосов
/ 21 мая 2019

У меня есть таблица с сотнями столбцов. Я хотел бы переместить столбец в этой таблице на новую позицию.

Например, моя таблица (с именем "sample_table") выглядит так:

var1, var2, var3, var4
w,    x,    y,    z

По сути, я хочу создать таблицу, которая выглядит следующим образом:

var1, var2, var4, var3
w,    x,    z,    y

Я пытался использовать:

ALTER TABLE sample_table CHANGE var3
var3 STRING AFTER var4

Но я получаю:

var1, var2, var4, var3
w,    x,    y,    z 

Итак, все, чего я достиг - переименовал последний столбец, не перемещая данные в этом столбце.

Я знаю, что мог бы написать оператор создания таблицы и использовать оператор выбора в нем, чтобы расположить столбцы в необходимом порядке. Однако это кажется очень неэффективным, когда у меня 100 столбцов, и мне просто нужно переместить один столбец во всей таблице.

Как бы я переместил всю колонку, а не просто переименовал ее?

Большое спасибо.

1 Ответ

0 голосов
/ 21 мая 2019

Вы можете использовать несколько операторов:

ALTER TABLE sample_table CHANGE var3 var3_ STRING;
ALTER TABLE sample_table CHANGE var4 var3 STRING;
ALTER TABLE sample_table CHANGE var3_ var4 STRING;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...