我已将表格声明为:
"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"
表Employee有3列。如果插入第四个值,即地址,我想更改表。我正在根据另一个表插入值。以下是我的查询。
"INSERT INTO TABLE Employee select primaryKey,Firstname,lastName from oldEmpTable"
此查询正常运行。如果我运行以下查询,则hive不会抱怨,也不会对表进行任何更改。顺便说一句,我正在使用Spark。
"INSERT INTO TABLE Employee select primaryKey,Firstname,lastName,address from oldEmpTable"
我可以根据插入方式更改表吗?
答案 0 :(得分:0)
使用CREATE TABLE
命令设置表模式。将INSERT INTO
与附加字段一起使用不会更改架构。您应该重新创建表,或者在使用额外字段执行ALTER TABLE
之前使用INSERT
来更改架构。