2015-09-15 3 views
0

Я открыл таблицу, как:Как изменить таблицу улья на основе вставки?

"CREATE TABLE IF NOT EXISTS Employee 
(primaryKey String, Firstname String, lastName String)" + " ROW FORMAT DELIMITED" 
     + " FIELDS TERMINATED BY '\\t'"<br/> 
     + " LINES TERMINATED BY '\\n'"<br/> 
     + " STORED AS TEXTFILE" 

В таблице Сотрудник имеет 3 колонки. Я хочу изменить таблицу, если вставлено четвертое значение i.e address. Я вставляю значения на основе другой таблицы. Ниже приведен мой запрос.

"INSERT INTO TABLE Employee select primaryKey,Firstname,lastName from oldEmpTable" 

Этот запрос работает. Если я запустил следующий запрос, улей не жалуется и никаких изменений в таблице не происходит. Кстати, я использую Spark.

"INSERT INTO TABLE Employee select primaryKey,Firstname,lastName,address from oldEmpTable" 

Есть ли способ изменить таблицу на основе Insert?

+0

Вы ожидаете, что таблица Employee изменит свою схему? – mattinbits

+0

@mattinbits Да Это должно измениться – EmbarkPro

ответ

0

Схема таблицы задается командой CREATE TABLE. Использование INSERT INTO с дополнительным полем не изменит схему. Вы должны либо воссоздать таблицу, либо использовать ALTER TABLE, чтобы изменить схему, прежде чем делать INSERT с дополнительным полем.